首页 / JSON / 从C#中的复杂JSON结构中提取数据
从C#中的复杂JSON结构中提取数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从C#中的复杂JSON结构中提取数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1236字,纯文字阅读大概需要2分钟。
内容图文
我有JSON数据,如下所示:
{
"position":[
{
"top":[
42,
12
]
},
{
"middle":[
10,
15
]
},
{
"bottom":[
5,
201
]
},
{
"axis":[
{
"X":[
901,
51,
67
]
},
{
"Y":[
1474186,
561647
]
},
{
"Z":[
911,
1296501
]
},
15,
20
]
}
],
"validated":true,
"metadata":{
"uri":"/data/complex/",
"session":[
1818,
14
],
"private":false
},
"vists":0,
"ok":true,
"data":{
"10":{
"title":"Alpha",
"author":"Justin X. Ample",
"cover":"/f48hf58.tiff"
},
"901":{
"title":"Tau",
"author":"Felina Blank",
"cover":"/45trthrref.tiff"
}
},
"live":null
}
从这些数据我想显示如下列表:
Alpha, Justin X. Ample
Tau, Felina Blank
请注意,键(在我的示例中为10和901)是不可预测的.所以我想以某种方式创建一个表示“数据”结构的对象,并迭代它以获得每个条目的标题和作者.
使用基本的JSON结构,我成功完成了这样的事情(使用JSON.NET):
public class Foo
{
public int bar { get; set; }
public string baz { get; set; }
public string quxx { get; set; }
}
...
// json = {"bar": 1, "baz":"two", "quxx":"three"}
var result = await JsonConvert.DeserializeObjectAsync<Foo>(json);
return result.baz // "two"
但我无法弄清楚我需要做些什么才能让它与复杂的结构一起工作.
解决方法:
var jObj = JsonConvert.DeserializeObject(json) as JObject;
var result = jObj["data"].Children()
.Cast<JProperty>()
.Select(x => new {
Title = (string)x.Value["title"] ,
Author = (string)x.Value["author"],
})
.ToList();
内容总结
以上是互联网集市为您收集整理的从C#中的复杂JSON结构中提取数据全部内容,希望文章能够帮你解决从C#中的复杂JSON结构中提取数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。