如何在C#中解析JSON对象?

3

数组:

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

如何在C#中解析上述JSON响应
3个回答

7

您提供的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);

3

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

这很简单易懂

我在这里回答了同类型的问题。可以看一下


0

值得一提的是,可以看一下JavaScriptSerializer类以及其中的反序列化方法。

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

回到这个问题,四年后我肯定会建议您在项目中使用其他答案。在我看来,如果您只能使用 .net 框架,那么这个答案才真正有用。 - Matt Skeldon
我不同意Matt评论的前提。任何时候,只要你能够有效地在项目构建的框架内操作,就应该这样做。不必要地引用框架外的库可能会使设计模式复杂化,破坏约定,并几乎保证依赖于分散的文档。如果答案提供更多细节,我会点赞。 - LanchPad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接