c#中json字符串的反序列化
本文关键字:反序列化 字符串 json | 更新日期: 2023-09-27 18:26:00
我正在尝试取消实现json字符串的值,如下所示
{"data":[
{"description":"xxxxxx","created_time":1330356685},
{"description":"zzzz","created_time":1329817903}
]}
我的课如下:
public class NewFriends
{
public Data[] data { get; set; }
public class Data
{
string description { get; set; }
int created_time { get; set; }
}
}
但是当我取消实现值时,我会在nFnds 的数组索引中获得null值
NewFriends nFrnds = serializer.Deserialize<NewFriends>(newFriends);
请帮忙!
我建议您考虑使用Json.Net。这将使反序列化过程变得轻而易举。
PM>安装软件包Newtonsoft.Json
public class NewFriends
{
public List<Data> data { get; set; }
}
public class Data
{
string description { get; set; }
int created_time { get; set; }
}
var jsonObj = @"{"data":[
{"description":"xxxxxx","created_time":1330356685},
{"description":"zzzz","created_time":1329817903}
]}"
NewFriends newFriends = JsonConvert.DeserializeObject<NewFriends>(jsonObj);
这段代码对我来说很好:
string s = "{'"data'":[{'"description'":'"xxxxxx'",'"created_time'":1330356685}, {'"description'":'"zzzz'",'"created_time'":1329817903}]}";
JavaScriptSerializer jss = new JavaScriptSerializer();
NewFriends nFrnds = jss.Deserialize(s, typeof(NewFriends)) as NewFriends;
MessageBox.Show(nFrnds.data.Length.ToString());
尝试使用List
而不是Array
public class NewFriends
{
public List<Data> data { get; set; }
}
public class Data
{
string description { get; set; }
int created_time { get; set; }
}