JSON数组:[{'count':1,'no':'000001'},{'count':1,'no':'000001'}]
创建了一个匿名类:
var dt = new{
count = 0,
no = ""
}
使用JsonConvert.DeserializeAnonymousType反序列化怎么
得到匿名对象集合?
string jsonString = @"[{'count':1,'no':'000001'},{'count':1,'no':'000001'}]";
dynamic json = Newtonsoft.Json.Linq.JToken.Parse(jsonString) as dynamic;
foreach (var item in json)
{
Console.WriteLine($"count:{item.count},no:{item.no}");
}
public class MyCls { public int count; public string no;}
===》
string s = "[{'count':1,'no':'000001'},{'count':2,'no':'000002'}]";
System.Collections.Generic.List<MyCls> list = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<MyCls>>(s);
foreach (MyCls o in list) Response.Write(o.count + "|" + o.no+"<BR>");
匿名类的属性是只读的。要动态解析json,可以换种方法。Newtonsoft.NET里可以将JSON字符串转换为成JObject对象,并强制转换为动态类型dynamic 。也达到你想要的效果。
var jsonString = @"{""Name"":""小苹果"",""Company"":""韩国公司"", ""Entered"":""2016-11-26 00:14""}";
dynamic json = Newtonsoft.Json.Linq.JToken.Parse(jsonString) as dynamic;
string name = json.Name;
string company = json.Company;
DateTime entered = json.Entered;
Console.WriteLine("name:"+name);
Console.WriteLine("company:" + company);
Console.WriteLine("entered:" + entered);