在合约中常有解析json的需求,此文章介绍使用
nlohmann/json
原版本
https://github.com/nlohmann/json
适配eosio合约后的版本源码地址
https://github.com/bcskill/eosio_json
下载完json.hpp文件后,将代码文件放到合约目录,通常放到项目合约代码同级的common目录
然后在项目合约中直接包含此json.hpp文件
#include "./common/json.hpp"
在使用的合约指名json的命名空间
using json = nlohmann::json;
然后就可以直接解析json字符串了
json memoJson = json::parse(memo);
// 为了业务的判定,合约账户内不允许非限定交易,如有特殊需求再做变更
eosio::check(memoJson.count("transfer_type") == 1, get_assert_msg(ASSERT_ERROR_CODE::MISSING_PARAMETERS, "Missing parameters"));
transfer_type = memoJson["transfer_type"].get<uint8_t>();
版权属于:区块链中文技术社区 / 转载原创者
本文链接:https://bcskill.com/index.php/archives/959.html
相关技术文章仅限于相关区块链底层技术研究,禁止用于非法用途,后果自负!本站严格遵守一切相关法律政策!