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);
第一种做法(匿名类):
varanon
ymous=
new{a=
0,b=
String.Empty,c=
new
int[
0],d=
int>()};
varo2=JsonConvert.De
serializeAnon
ymousType(json,anon
ymous
);
Console.WriteLine(o2
.b);
Console.WriteLine(o2.c[
1]
);
第二种做法(匿名类):
varo3=JsonConvert.De
serializeAnon
ymousType(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.De
serializeOb
ject(json)
asJOb
ject;
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,请注明来意。