Solidity智能合约是没法返回json对象、字典、结构体的。
https://vomtom.at/how-to-return-a-mapping-in-solidity-and-web3/
解决方案:返回多个数组,然后在应用层再进行拼接。
返回数组的方法:https://blog.csdn.net/u013288190/article/details/108832503
// 一定要在文件开头引入这个
pragma experimental ABIEncoderV2;
// 查询某个学生的所有成绩
function select_scores_info(address studentId) public view returns(string[], int[]){
TableFactory tf = TableFactory(0x1001);
Table table = tf.openTable("stu_score");
string memory stuIdStr = addressToString(studentId);
Condition condition = table.newCondition();
condition.EQ("student_id", stuIdStr);
Entries entries = table.select(stuIdStr, condition);
// 初始化数组大小
string[] memory user_courses_list = new string[](uint256(entries.size()));
int[] memory user_scores_list = new int[](uint256(entries.size()));
// 给数组赋值
for(int i=0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?