在wp8 app上解析特定的json字符串

时间:2015-08-31 13:17:29

标签: c# json windows-phone-8

我正在创建wp8应用程序并且必须解析特定的json字符串:

string jsonStr = {
    "ver": "1",
    "item1": {
        "name": "name1",
        "desc": "desc1"
    },
    "item2": {
        "name": "name2",
        "desc": "desc2"
    },
    "item3": {
        "name": "name3",
        "desc": "desc3"
    }
}

我需要键名的值才能进入列表,例如。 name1,name2,name3。我试图找到类似的情况,但没有成功。

1 个答案:

答案 0 :(得分:0)

这样可行,但我认为会有更优雅的方法来解决这个问题。但是你可以使用它。

var jsonStr = "{\"ver\":\"1\",\"item1\":{\"name\":\"name1\",\"desc\":\"desc1\"},\"item2\":{\"name\":\"name2\",\"desc\":\"desc2\"},\"item3\":{\"name\":\"name3\",\"desc\":\"desc3\"}}";

List<string> names = new List<string>();

JObject jsonObject = JObject.Parse(jsonStr);
jsonObject.Remove("ver");

foreach (JToken jsonRow in jsonObject.Children())
{
    foreach (JToken item in jsonRow)
    {
        foreach (JToken itemProperty in item)
        {
            var property = itemProperty as JProperty;
            if (property != null && property.Name == "name")
            {
                if (property.Value != null)
                {
                    names.Add(property.Value.ToString());
                }
            }
        }
    }
}