C# 解析JSON

C# 解析JSON的方法之一:

Step 1:选中项目—>引用—>右键,选择管理NuGet程序包;

Step1_Pic01

Step 2:在搜索框里搜索json,然后选中下载Json.Net,这样就把Json.Net引用到项目中了;

Step02_Pic01

Step 3:例如我有一下一段JSON代码,这段JSON有两层

Json: 

{ "errNum": 0, "errMsg": "success", "retData": { "ip": "117.89.35.58", "country": "中国", "province": "江苏", "city": "南京", "district": "鼓楼", "carrier": "中国电信" } }

JObject jobject = (JObject)JsonConvert.DeserializeObject(json);

string ip = jobject["retData"]["ip"].ToString();

通过以上代码就可以把JSON中的IP解析出来了,这相对来说是比较简单的一种做法,当然网上还有其他的方法我暂时没用到就不详表了,我写下来的目的主要是怕自己忘掉,就酱。​

二、C# Json转换为对象​

得到一个包含多个元素的Json,上面的那个方法就有点吃力了​

例如:​

json:​

[{"detailAccount":"35=35(7天)","duration":"8784","inDoorName":"西入口","inImgGuid":"bccdc059-1e0d-4498-bd1a-50f50abe3b63","inImgPath":"D://ParkingImage//ParkingImage_In_西入口//20160116//20160116144122773_蓝_苏E01010_192.168.3.231.jpg","money":"35.0","passRecordGuid":"941","plate":"苏E01010","regDate":"2016-01-16 14:41:22"},{"detailAccount":"15=15(3天)","duration":"3375","inDoorName":"东入口","inImgGuid":"90b2dbdd-d86c-45f3-bd48-81f6fd521b4c","inImgPath":"D://ParkingImage//ParkingImage_In_东入口//20160120//20160120085028900_蓝_苏E02020_192.168.3.233.jpg","money":"15.0","passRecordGuid":"5097","plate":"苏E02020","regDate":"2016-01-20 08:50:28"}]

加入ParkingInfo 对象包含有车牌Plate,费用Cost,入场时间StartTime,图片路径ImageUrl

List lstPi = new List();​

//JSON 解析

private void ResolveJson(string Json)

{

string Jsons="";

JArray ja = (JArray)JsonConvert.DeserializeObject(Json);

foreach(var ss in ja)

{

ParkingInfo pi = new ParkingInfo();

pi.Cost = ss["money"].ToString();

pi.ImageUrl = ss["inImgPath"].ToString();

pi.Plate = ss["plate"].ToString();

pi.StartTime = ss["regDate"].ToString();

lstPark.Add(pi);

}

}​

这样就把Json转化为对象,并放到List里,想要取出来的话,就直接遍历就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值