【问题标题】:How to parse json object in C#?如何在 C# 中解析 json 对象?
【发布时间】:2012-09-13 08:15:10
【问题描述】:

数组:

{ 
    "field':["field1":"value1","field2":"value2"], 
            ["field1":"value1","field2":"value2"]
}

如何在c#中解析上述json响应

【问题讨论】:

    标签: c# json c#-4.0 json.net


    【解决方案1】:

    您提供的json 字符串在json 格式中不正确json 数组应该是:

    {"field":[
               {"field1":"value1","field2":"value2"},
               {"field1":"value1","field2":"value2"}
             ]
    }
    

    您可以使用json.net进行转换:

    var obj = JsonConvert.DeserializeObject(json);
    

    nuget 中也提供此工具。

    如果你想使用强类型:

    public class YourObject
    {
        public string Field1 { get; set; }
        public string Field2 { get; set; }
    }
    
    public class YourClass
    {
        public YourObject[] Field { get; set; }
    }
    
    var yourClass = JsonConvert.DeserializeObject<YourClass>(json);
    

    【讨论】:

      【解决方案2】:

      使用newtonsoft json.net解析json响应。

      简单易行

      我回答了同样的问题here看一遍

      【讨论】:

        【解决方案3】:

        可能值得一看 javaScriptSerializer 类。以及里面的反序列化方法。

        JavaScriptSerializer jss= new JavaScriptSerializer();
        User user = jss.Deserialize<User>(jsonResponse); 
        

        【讨论】:

        • 四年后回到这个问题,如果您可以将其包含在您的项目中,我绝对会建议您使用其他答案。在我看来,这个答案只有在您只能使用 .net 框架时才真正有用。
        • 我不同意马特评论的前提。只要您可以在构建项目的框架内有效地操作,您就应该这样做。框架外库中不必要的引用会使设计模式、约定混乱变得复杂,并且几乎可以保证对分散文档的依赖。如果它提供更多详细信息,我会 +1 答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-19
        • 1970-01-01
        • 1970-01-01
        • 2011-07-30
        • 2015-05-18
        • 2013-04-06
        • 2017-09-03
        相关资源
        最近更新 更多