zoukankan      html  css  js  c++  java
  • Solidity oraclize解析Json格式数据

    
    

    solidity虽然不能解析json数据但是oraclize_query可以直接处理:

    pragma solidity ^0.4.21;
    import "github.com/oraclize/ethereum-api/oraclizeAPI.sol";
    
    contract oraclizeJson is usingOraclize{
        event logString(string);
        event logUint(uint);
        string public str = strConcat("http://119.28.70.201:8792/getprice/?index=","DJI","&date=",uint2str(17623));
        
        function strConcat(){
            bytes32 queryId = oraclize_query("URL", "json(http://api.k780.com/?app=finance.globalindex&inxno=000001&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json).result.yesy_price");  //oraclize解析json数据      
        }
        
        function __callback(bytes32 myid, string result, bytes proof) public{
            emit logString(result);
            uint i = parseInt(result,3); //string to uint转换,
            emit logUint(i+1);
        }
    }

    查询获得的Json数据(http://api.k780.com/?app=finance.globalindex&inxno=000001&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json),在oraclize query中用 “.result.yesy_price” 可以取到yesy_price数据

    {
        "success": "1", 
        "result": {
            "inxid": "1", 
            "typeid": "hs", 
            "inxno": "000001", 
            "inxnm": "上证指数", 
            "yesy_price": "3136.63", 
            "open_price": "3147.05", 
            "last_price": "3131.11", 
            "change_price": "-5.52", 
            "change_price_per": "-0.18%", 
            "high_price": "3163.34", 
            "low_price": "3128.87", 
            "amplitude_price_per": "1.10%", 
            "uptime": "2018-04-04 15:34:58"
        }
    }
  • 相关阅读:
    第六周 组合数据类型
    第五周 函数和代码复用
    第四周 程序的控制结构
    第三周 Python基本数据类型
    python库
    sublime text3自定义设置及快捷键大全
    Sublime Text3插件安装教程
    Linux 标准目录结构
    快学Scala-10--List 和Set
    快学Scala-09--模式匹配
  • 原文地址:https://www.cnblogs.com/huahuayu/p/8745332.html
Copyright © 2011-2022 走看看