我正在使用Blockchain.info API。我想对JSON响应进行反序列化。一个例子的回应:
{“地址”:[{“平衡”:1400938800,“地址”:“1 q1atvcykhtvegm3187mgnrh5ycukuwjqc”,“标签”:“短信存款”,“total_received”:5954572400},{“平衡”:79434360,“地址”:“1 a8jiwcwvpy7taopuksngueyhmzgyfzpiq”,“标签”:“我的钱包”,“total_received”:453300048335},{“平衡”:0,“地址”:“17 p49xuc2fw4fn53wjzqyam4apkqhnpeky”,“total_received”:0}]}
我想知道如何创建一个符合这个要求的类。我试过了,但没用:
公共函数LoadJson(按值传递json作为字符串)昏暗的项目作为列表(的地址)=JsonConvert.DeserializeObject(的列表(的地址)) (json)返回项目结束函数公共类地址公共地址作为地址()结束类公共类地址公共平衡公共地址公共标签公共total_received结束类
我找到了一个简单的解决方法:
到这个链接:http://json2csharp.com/粘贴你的json,它将创建你的类和它的依赖。
现在,你可以在你的应用程序和使用简单的javascript创建一个新的。序列化,反序列化,其他都不序列化,它就能完美地工作
下面是一个完美运行的控制台应用程序示例:
进口系统.净进口系统.IO进口系统.配置进口系统.网络.脚本.序列化模块Module1的昏暗的js作为新JavaScriptSerializer子主要()昏暗的json作为字符串=字符串.老空使用作为新StreamReader(“C: \用户桌面\ GOOGLEDRIVE \ hpc \ \ Giorgio \ PROGETTI VS PERSONALI \ VISUALSTUDIOPROJECT \ 2014 \ Smples \ Smples \ json.txt”)json=老.ReadToEnd结束使用昏暗的分隔符作为字符串="**********************************************************"昏暗的根作为RootObject=js.反序列化(的RootObject)(json)为每一个埃尔在根.地址控制台.WriteLine(字符串.格式(“{0}”&vbCrLf&“{1}”&vbCrLf&“{2}”&vbCrLf&“{3}”&vbCrLf&分隔符,埃尔.地址,埃尔.平衡,埃尔.标签,埃尔.total_received))下一个控制台.ReadLine()结束子公共类地址公共财产平衡()作为整数得到返回m_balance结束得到集(价值作为整数)m_balance=价值结束集结束财产私人m_balance作为整数公共财产地址()作为字符串得到返回m_address结束得到集(价值作为字符串)m_address=价值结束集结束财产私人m_address作为字符串公共财产标签()作为字符串得到返回m_label结束得到集(价值作为字符串)m_label=价值结束集结束财产私人m_label作为字符串公共财产total_received()作为对象得到返回m_total_received结束得到集(价值作为对象)m_total_received=价值结束集结束财产私人m_total_received作为对象结束类公共类RootObject公共财产地址()作为列表(的地址)得到返回m_addresses结束得到集(价值作为列表(的地址))m_addresses=价值结束集结束财产私人m_addresses作为列表(的地址)结束类终端模块