如何使用C#访问嵌套在JSON响应的两个数组级别中的值?

时间:2019-06-14 20:06:29

标签: c# json multidimensional-array

我有一个类似这样的JSON响应。 JSONResponse

我正在尝试访问值“ Hello”。我正在使用Newtonsoft.JSON包来解析和序列化我的数据。我可以访问除“ Hello”之外的所有值。

以下是我如何处理诸如menu3的单级数组的一个小例子:

JArray dataArr = (JArray)joResponse["menu3"];     //joResponse is my JSONresponse
string[] datalist = dataArr.ToObject<string[]>(); //gave me 1234 and 5678 as string list

任何想法/逻辑/资源/示例将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果您要为JSON响应创建模型类并使用它反序列化字符串,那么对您来说会容易得多。例如:

public class MyModel {
    public string Menu1 { get; set; }
    public string Menu2 { get; set; }
    public List<int> Menu3 { get; set; }
    public string Menu4 { get; set; }
    public List<string> Menu5 { get; set; }
}

然后,在该类中,您将收到JSON字符串:

    var myObj = JsonConvert.DeserializeObject<MyModel>(jsonString);
    // Access any property through myObj object
    var menu1 = myObj.Menu1;