本文介绍了使用 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 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-01 06:42