本文介绍了解析的JSONObject的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想获得JSON从一个Web服务,这我能弄清楚。
顺便说一句这是我的JSON数据 -
{
X-YZ-111 / AB.CD :{
P1:F
P2:43.46
},
的X-YZ-112 / AB.CD :{
P1:F
P2:8.02
},
的X-YZ-113 / AB.CD:{
P1:F
P2:9066.58
},
的X-YZ-114 / AB.CD:{
P1:F
P2:6.00
},
的X-YZ-115 / AB.CD:{
P1: F
P2:6.00
},
的X-YZ-116 / AB.CD:{
P1:F
P2:10.00
}
使用Windows.Data.Json;
私人异步无效getJSON_click(对象发件人,RoutedEventArgs E)
{
VAR的客户=新的HttpClient();
client.MaxResponseBufferSize = 1024 * 1024;
VAR响应=等待Client.GetAsync(新的URI(这个网址));
VAR的结果=等待response.Content.ReadAsStringAsync();
无功分量= JsonObject.Parse(结果);
}
现在我能够尝试将其解析为一个集合,其中每个项目都有X-YZ-111 / AB.CD作为名称,属性和P1和P2其他2个属性,我会尝试绑定到以后使用CollectionViewSource在UI平铺。
现在这是C#类Json2CShardpDotCom正在生成
公共类名称
{
公共字符串类型{搞定;组; }
公共字符串的Val {获得;组; }
}
公共类根
{
公共名称名称{;组; }
}
使用的foreach什么班我就如何通过这些价值循环任何建议?在C#中应
编辑1:BTW,我知道必须有一个字典我第一次做外环一个foreach来检索内环的名称和foreach检索P1和P2。
不过,我很困惑就一下班我应该用在C#中使用JSON并创建集合项目从我的JSON
解决方案
You don't need any class. Just a little bit Linq
I would use Json.Net for this
var jObj = JObject.Parse(result);
var dict = jObj.Children()
.Cast<JProperty>()
.ToDictionary(p => p.Name,
p => new Tuple<string, string>((string)p.Value["P1"], (string)p.Value["P2"]));
That is all. Sample usage would be:
foreach (var kv in dict)
{
Console.WriteLine("{0}: {1} {2}", kv.Key, kv.Value.Item1, kv.Value.Item2);
}
EDIT
Same code using JsonObject
var jObj = JsonObject.Parse(json);
var dict = jObj.Cast<KeyValuePair<string, JsonValue>>()
.ToDictionary(j=>j.Key,
j=>new Tuple<string,string>(j.Value["P1"],j.Value["P2"]));
这篇关于解析的JSONObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!