【.net】json串解析到实体
2016-05-20 10:24
375 查看
最近在给Ios写接口,鉴于公司开发的项目,我们的接口使用的aspx格式的文件。移动端使用的无参post提交。最后组长说采用二进制流的形式传json串。后台要想得到参数就需要获得二进制流,然后解析来得到参数。
下面的一个json串就是在项目中要用到的入参格式。
<span style="font-size:18px;">{
"receipt_no": "9999",
"resource": [
{
"NO": "0001",
"Num": "20"
},
{
"NO": "0002",
"Num": "30"
}
]
}
</span>
大致说明一下,就是在单据编号为9999的单据下面要添加两个资源。换个例子就是说,在公司编号为9999的公司下面,要添加两个员工,这两个员工的基本信息就是数组中存的数据。
本以为很难的一个解析过程,后来才发现微软已经为我们封装好了。整个过程还是很简单的。
首先我们需要建两个实体类,来接受要解析的数据。
1.jsonEntity 这个实体来接受所有的数据。
<span style="font-size:18px;">public class jsonEntity//此实体内的名字要与json串中的名字一致。
{
public String receipt_no{get;set;}
public List<resourse> resourse{get;set;}
}</span>
2.资源实体resourse。此实体用来接受具体的资源信息。
<span style="font-size:18px;"> public class resourse
{
public String No{get;set;}
public String Num{get;set;}
}</span>
3.解析代码()
<span style="font-size:18px;"> using System.Web.Script.Serialization
//解析,取参
JavaScriptSerializer js=new JavaScriptSerializer;
jsonEntity ojbJson=js.Deserialize<jsonEntity>(json);//参数为要解析的json串</span>
下面的一个json串就是在项目中要用到的入参格式。
<span style="font-size:18px;">{
"receipt_no": "9999",
"resource": [
{
"NO": "0001",
"Num": "20"
},
{
"NO": "0002",
"Num": "30"
}
]
}
</span>
大致说明一下,就是在单据编号为9999的单据下面要添加两个资源。换个例子就是说,在公司编号为9999的公司下面,要添加两个员工,这两个员工的基本信息就是数组中存的数据。
本以为很难的一个解析过程,后来才发现微软已经为我们封装好了。整个过程还是很简单的。
首先我们需要建两个实体类,来接受要解析的数据。
1.jsonEntity 这个实体来接受所有的数据。
<span style="font-size:18px;">public class jsonEntity//此实体内的名字要与json串中的名字一致。
{
public String receipt_no{get;set;}
public List<resourse> resourse{get;set;}
}</span>
2.资源实体resourse。此实体用来接受具体的资源信息。
<span style="font-size:18px;"> public class resourse
{
public String No{get;set;}
public String Num{get;set;}
}</span>
3.解析代码()
<span style="font-size:18px;"> using System.Web.Script.Serialization
//解析,取参
JavaScriptSerializer js=new JavaScriptSerializer;
jsonEntity ojbJson=js.Deserialize<jsonEntity>(json);//参数为要解析的json串</span>
相关文章推荐
- Python动态类型的学习---引用的理解
- 使用 Python 处理 JSON 格式的数据
- XML 与 JSON 优劣对比
- VBA将excel数据表生成JSON文件
- 土人系列AS入门教程 -- 对象篇
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- C#托管堆对象实例包含内容分析
- newtonsoft.json解析天气数据出错解决方法
- C#动态调整数组大小的方法
- C#实现获取不同对象中名称相同属性的方法
- 详解Lua中的数组概念知识
- Perl中的列表和数组学习笔记
- javascript asp教程第十一课--Application 对象
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧