[英]Parsing json with JSON.net on windows phone c#
我是WP的新手开发人员。 我在解析json数据时遇到一些问题。 我从服务器上获取它并使用JSON.Net进行解析。
JSON数据示例
{"response":
{"ad6a95dd8f90fad7e281994cb5a8cacd":
{"status":"offline", "name": "Test Name",
"id":"ad6a95dd8f90fad7e281994cb5a8cacd"}
}
"success":true
}
“响应”的第一产量随对服务器的每个请求而变化。 我如何提取“名称”字段的值? 预先感谢您的答复。
我在Page.xaml.cs中尝试
var o = JObject.Parse(result);
var id = o["response"].First;
ServerList.ItemsSource = id;
和在Page.xaml中
<ScrollViewer Foreground="White">
<ListBox Margin="0,0,-12,0" Name="ServerList" Height="508" Width="415">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,20" Width="300">
<TextBlock Text="{Binding Path=name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
我以身作则。
为了从那个Json获得name
值,我这样做:
var o = JObject.Parse(result);
var id = o["response"].First.First["name"];
string name = id.Value<string>();
如果您实际上是想对一系列响应进行此操作,例如:
{"responses":
[
{"response":
{"ad6a95dd8f90fad7e281994cb5a8cacd":
{"status":"offline", "name": "Test Name","id":"ad6a95dd8f90fad7e281994cb5a8cacd"} },"success":true },
{"response":
{"ad6a95dd8f90fad7e281994cb5a8cacd":
{"status":"offline", "name": "Test Name2","id":"ad6a95dd8f90fad7e281994cb5a8cacd"} }, "success":true }
]
}
然后您的代码将需要看起来像:
var o = JObject.Parse(result);
var ids = from c in o["responses"].Children() select c["response"].First.First;
var names = ids.Select(t => t.SelectToken("name").Value<string>());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.