Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[.Net码农]用Json.NET将json字符串反序列化为json匿名对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

http://www.cnblogs.com/scottckt/archive/2011/12/14/2287471.html




首先定义一个匿名对对象,并序列化成Json,用于测试。 如何将这个Josn字符串转换为JSON对象呢?如果先创建一个类的话,那就太累了。
varo= new
{
a= 1,
b= " Hello,World! ",
c= new[]{ :rgb(128,2,128)">3},
d= newDictionary< String,int>{{ x 1},{ y 2}}
};

varjson=JsonConvert.serializeObject(o);

第一种做法(匿名类):

varanonymous= new{a= 0,b=String.Empty,c= new int[ 0],d= int>()};
varo2=JsonConvert.DeserializeAnonymousType(json,anonymous);

Console.WriteLine(o2.b);
Console.WriteLine(o2.c[ 1]);


第二种做法(匿名类):
varo3=JsonConvert.DeserializeAnonymousType(json,255)">new{C= new int[ :rgb(128,d= newDictionary< int>()});
Console.WriteLine(o3.d[ " y "]);

DeserializeAnonymousType 只是借助这个匿名对象参数(anonymous) 反射类型而已,也就是说它和反序列化结果并非同一个对象。正如 o3 那样,我们也可以只提取局部信息。

第三种做法(索引器):

实际上,我们也可以直接反序列化为 JObject,然后通过索引器直接访问。JObject、JProperty 等都继承自 JToken,它重载了基元类型转换操作符,我们可以直接得到实际结果。

varo2=JsonConvert.DeserializeObject(json) asJObject;

Console.WriteLine(( int)o2[ a "]);
Console.WriteLine(( String)o2[ b "]);
Console.WriteLine(o2[ c "].Values().Count());
Console.WriteLine(( d "][ "]);

大佬总结

以上是大佬教程为你收集整理的[.Net码农]用Json.NET将json字符串反序列化为json匿名对象全部内容,希望文章能够帮你解决[.Net码农]用Json.NET将json字符串反序列化为json匿名对象所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。