首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析JSON文件C#

解析JSON文件C#
EN

Stack Overflow用户
提问于 2012-01-17 06:13:57
回答 1查看 3.6K关注 0票数 0

我有以下要解析成C#的JSON。我尽量避免使用外部库,但如果有必要,我可以使用它们。现在,我正在使用JavaScriptSerializer方法从一个JSON文件中解析出另一个stackoverflow question上的答案。不幸的是,我可以在参考资料下使用任意数量的objectX项,并且它们都有不同的名称。有没有其他方法可以做到这一点?

代码语言:javascript
复制
{
    "FormatVersion" : "2010-09-09",
    "Description" : "My JSON Description",
    "Parameters" : {
        "Product" : {
            "Description" : "Product name",
            "Type" : "String",
            "Default" : "cs42"
        },
        "DifferentObjectSize" : {
            "Description" : "DifferentObjectSize",
            "Type" : "String",
            "Default" : "large"
        },
        "ObjectSize" : {
            "Description" : "Worker size",
            "Type" : "String",
            "Default" : "medium"
        }
     },

    "Resources" : {

        "differentobject" : {
          "Type" : "MyType",
          "Properties" : {
            "InstanceType" : { "Ref" : "DifferentObjectSize" }
          }
        },

        "object1" : {
          "Type" : "MyType",
          "Properties" : {
            "InstanceType" : { "Ref" : "ObjectSize" }
          }
        },

        "object2" : {
          "Type" : "MyType",
          "Properties" : {
            "InstanceType" : { "Ref" : "ObjectSize" }
          }
        },

        "object3" : {
          "Type" : "MyType",
          "Properties" : {
            "InstanceType" : { "Ref" : "ObjectSize" }
          }
        },

        "object4" : {
          "Type" : "MyType",
          "Properties" : {
            "InstanceType" : { "Ref" : "ObjectSize" }
          }
        },

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-17 06:28:26

如果您考虑使用Json.Net,可以按如下方式解析您的输入字符串

代码语言:javascript
复制
JObject myObj = (JObject)JsonConvert.DeserializeObject(jsonString);
foreach(var resource in myObj["Resources"])
{
    var props = resource.Children<JObject>().First();
    Console.WriteLine(props["Type"] + " " + props["Properties"]["InstanceType"]["Ref"]);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8887029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档