是一个二维数组的JSON报文,第一次接触JSON这方面,新人我已经焦头烂额了。
示例的报文内容如下:
{"total": 6,"rows": [{"id":"314","weatherType":"1.0","weatherName":"qing","maxTemperature":"35.0","minTemperature":"23.0","rainFall":"12.0","snowFall":"12.0"},{"id":"315","weatherType":"2.0","weatherName":"yu","maxTemperature":"40.0","minTemperature":"30.0","rainFall":"0.0","snowFall":"0.0"},{"id":"319","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"379","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"672","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"675","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"}]}
我只能做到将第一层反序列化,但是如何将里面的id等反序列化,新人暂时想不到方法。望各位指教~JSON反序列化
示例的报文内容如下:
{"total": 6,"rows": [{"id":"314","weatherType":"1.0","weatherName":"qing","maxTemperature":"35.0","minTemperature":"23.0","rainFall":"12.0","snowFall":"12.0"},{"id":"315","weatherType":"2.0","weatherName":"yu","maxTemperature":"40.0","minTemperature":"30.0","rainFall":"0.0","snowFall":"0.0"},{"id":"319","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"379","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"672","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"},{"id":"675","weatherType":"3.0","weatherName":"yin","maxTemperature":"20.0","minTemperature":"10.0","rainFall":"0.0","snowFall":"0.0"}]}
我只能做到将第一层反序列化,但是如何将里面的id等反序列化,新人暂时想不到方法。望各位指教~JSON反序列化
解决方案 »
- winform为什么点右上角关闭的“差”后程序退出了,但任务管理器的进程里却显示呢
- windows form 中怎么绘制像ps 中可以拖动的参考线呀
- 关于DataGrid的数据绑定的问题
- 跪求一个C#操作EXCEL表的问题,在线等待!!
- 请问怎么在WindowsApplication中怎么导入网页?
- W高手来看看:MI编程实现用户名,用户组的获取
- 想学习关于网络通讯的相关知识,但不知从而入手,望各大虾指点
- 如何合并System.Windows.Forms.DataGrid的某些单元格?
- 2种C#增的写法!!请高手帮忙看看!
- 招聘
- 数据add不到listView中 ~~~~(>_<)~~~~
- C# 如何获得 数组值的下标?
{
[DataContract]
public class t_experience
{
[DataMember(Order = 1)]
public int total { get; set; }
[DataMember(Order = 2)]
public Cchild[] rows { get; set; }
}
[DataContract]
public class Cchild
{
[DataMember(Order = 1)]
public int id { get; set; }
[DataMember(Order = 2)]
public string weatherType { get; set; } }
public static class JSON
{
// 反序列化
public static T parse<T>(string jsonString)
{
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
return (T)new DataContractJsonSerializer(typeof(T)).ReadObject(ms);
}
}
//序列化
public static string stringify(object jsonObject)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(jsonObject.GetType()).WriteObject(ms, jsonObject);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
} static void Main(string[] args)
{
Cchild[] clid = new Cchild[] { new Cchild() { id = 1, weatherType = "weatherType0" }, new Cchild() { id = 2, weatherType = "weatherType1" } }; t_experience p1 = new t_experience() { total = clid.Length, rows = clid }; // 序列化
var jsonString = JSON.stringify(new t_experience[] { p1 });
Console.WriteLine(jsonString);
var vexperience = JSON.parse<t_experience[]>(jsonString);
Console.WriteLine("解出第一条第一rows weather值为:{0}", vexperience.First().rows.First().weatherType);
Console.ReadKey(); } }
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
{
total: 6,
rows:
[
{
"id": "314",
"weatherType": "1.0",
"weatherName": "qing",
"maxTemperature": "35.0",
"minTemperature": "23.0",
"rainFall": "12.0",
"snowFall": "12.0"
},
{
"id": "315",
"weatherType": "2.0",
"weatherName": "yu",
"maxTemperature": "40.0",
"minTemperature": "30.0",
"rainFall": "0.0",
"snowFall": "0.0"
},
{
"id": "319",
"weatherType": "3.0",
"weatherName": "yin",
"maxTemperature": "20.0",
"minTemperature": "10.0",
"rainFall": "0.0",
"snowFall": "0.0"
},
{
"id": "379",
"weatherType": "3.0",
"weatherName": "yin",
"maxTemperature": "20.0",
"minTemperature": "10.0",
"rainFall": "0.0",
"snowFall": "0.0"
},
{
"id": "672",
"weatherType": "3.0",
"weatherName": "yin",
"maxTemperature": "20.0",
"minTemperature": "10.0",
"rainFall": "0.0",
"snowFall": "0.0"
},
{
"id": "675",
"weatherType": "3.0",
"weatherName": "yin",
"maxTemperature": "20.0",
"minTemperature": "10.0",
"rainFall": "0.0",
"snowFall": "0.0"
}
]
}
谢谢这位大大,我一直在纠结怎么绑定rows里面的数据,受指教了。