【问题标题】:Deserialize JSON using JSON.net in Wp7 application在 Wp7 应用程序中使用 JSON.net 反序列化 JSON
【发布时间】:2011-08-22 21:13:07
【问题描述】:

我有这种 JSON 格式:

string jsonFormat = @"{ 
""Applications"": {
        ""data"": {
            ""Application named one"": [
                {
                    ""index"" : ""1"",
                    ""name"" : ""One"",
                    ""active"" : ""1"",
                    ""excluded"" : ""false""
                }
            ],
            ""Application named two"": [
                {
                    ""index"" : ""2"",
                    ""forum"" : ""yes"",
                }
            ]
        } 
    } 
}"; 

我如何才能访问 datachilds ?我需要检索 Application named oneApplication named two - 对于每个属性及其值 - 属性因应用程序而异。

到目前为止,我有:

        JObject resultt= JObject.Parse(jsonFormat);
        // get JSON result objects into a list
        IList<JToken> results = resultt["Applications"]["data"].Children().ToList();

我查看了 JSON.net 文档,但找不到解决方案...

任何帮助都会非常有用。谢谢。

【问题讨论】:

  • 我就是找不到工作......

标签: json windows-phone-7 json.net deserialization


【解决方案1】:

我认为您正在寻找这样的东西:

JObject jObject = JObject.Parse(jsonFormat);
int index = jObject
    .Value<JObject>("Applications")
    .Value<JObject>("data")
    .Value<JArray>("Application named one")
    .First
    .Value<int>("index");

基本上,这个想法是使用 Value 方法和您期望检索特定 json 元素(JObject、JArray、...)或解析 .NET 值(int、string、bool、.. .)。

【讨论】:

  • 并不是我想要的——我这么说是因为我不知道“应用程序名为一个”的名称,但我想出了一个解决方案。我将在明天或后天发布解决方案。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
相关资源
最近更新 更多