是一个二维数组的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反序列化
解决方案 »
- 添加图片到dataset中的问题?
- C#操作EXCEL复选框的问题
- 如果文件没有有效的图像格式,或者如果 GDI+ 不支持文件的像素格式,则此方法将引发 OutOfMemoryException 异常。
- 关于string转换为double的问题:"输入字符串的格式不正确。"
- 关于数据访问层DAL的问题,ado.net,大家提提看法
- 弱问:如何将object强制转换成数组?
- 布署的问题~~~~~,在GOOGLE上找了几十页都没找到解决办法,,,,高人进来~~~~~~~
- 【通过压缩SOAP改善XML Web service性能 】这篇文章代码调通的朋友进来一下。
- {天敏sdk 2000 二次开发问题}在线等
- winform datagrid某行的双击事件!
- 数据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里面的数据,受指教了。