wp8 json2csharp

本文详细介绍了如何解析JSON字符串,将其转换为C#对象,并通过多种方法实现数据的解析与处理。包括直接使用JObject进行解析,以及利用DataContractJsonSerializer进行更复杂的对象映射。文章还提供了JSON到C#类的转换工具链接,便于读者实践。


string jsonData = "{\"result\":\"600\",\"data\":{\"items\":[{\"no\":\"111\",\"uid\":\"3333333\"},{\"no\":\"2222\",\"uid\":\"44444444\"}]},\"head\":{\"server\":\"api.baidu.cn\"}}";

JObject jsonObj = JObject.Parse(jsonData);
string name = jsonObj["result"].ToString();
string province = ((JObject)jsonObj["head"])["server"].ToString();

var jo = JObject.Parse(jsonData)["data"];
if (jo.ToString() == "")
new SearchLoveModel();

Data list = new Data();
Item status = null;
var jItems = jo["items"];
if (jItems != null)
{
foreach (var j in jItems.Children())
{
status = j.ToObject<Item>();

if (!string.IsNullOrEmpty(status.No))
{
status.No = "序号" + status.No;
}
if (!string.IsNullOrEmpty(status.UId))
{
status.UId = "账号" + status.UId;
}
list.items.Add(status);
}
}

 

第二种方法

SearchLoveModel info = new SearchLoveModel();
using(MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(info.GetType());
info = ser.ReadObject(ms) as SearchLoveModel;
}

 

model

[DataContract]
public class Head
{
[DataMember]
public string server { get; set; }
}
[DataContract]
public class Item
{
[DataMember]
public string no { get; set; }
[DataMember]
public string uid { get; set; }
}
[DataContract]
public class Data
{
public Data()
{
items = new List<Item>();
}
[DataMember]
public List<Item> items { get; set; }
}
[DataContract]
public class SearchLoveModel
{
[DataMember]
public string result { get; set; }
[DataMember]
public Head head { get; set; }
[DataMember]
public Data data { get; set; }
}

http://json2csharp.com/#

http://www.cnblogs.com/pen-ink/archive/2011/10/06/2199715.html

http://www.cnblogs.com/huizhang212/p/MetroJson.html

http://wenwen.soso.com/z/q181676143.htm

转载于:https://www.cnblogs.com/luquanmingren/p/3562247.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值