本文介绍了使用 Windows Phone 7 解析包含数组的 JSON 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
好的,我对此有些困难.
Ok, I'm having some difficult with this.
我的 JSON 就像
{ "names" : [ {"name":"bla"} , {"name":"bla2"} ] }
我试图做本教程但是,由于不同的 JSON,它没有用.
I was trying to do this tutorial but, due to the different JSON, it didn't worked.
我必须在这个方法中放入什么?我不知道是创建一个包含我的列表的包装"类还是直接使用 JsonObject 更好.你能给我一个片段吗?我是 C# 新手.
What do I have to put inside this method?I don't know if it's better to create a "wrap" class that contain my list or using directly a JsonObject. Could you provide me a snippet? I'm kinda new in C#.
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
DataContractJsonSerializer ser = null;
try
{
???
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
提前致谢!
推荐答案
Using Json.Net(支持视窗手机)
Using Json.Net (which supports Windows Phone)
string json = @"{ ""names"" : [ {""name"":""bla""} , {""name"":""bla2""} ] }";
var dict = (JObject)JsonConvert.DeserializeObject(json);
foreach (var obj in dict["names"])
{
Console.WriteLine(obj["name"]);
}
或者如果你想以类型安全的方式使用它
Or if you want to use it in a type-safe way
var dict = JsonConvert.DeserializeObject<RootClass>(json);
foreach (var obj in dict.names)
{
Console.WriteLine(obj.name);
}
public class RootClass
{
public MyName[] names { get; set; }
}
public class MyName
{
public string name { get; set; }
}
这篇关于使用 Windows Phone 7 解析包含数组的 JSON 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!