Как получить доступ к значению, вложенному в два уровня массива в ответе JSON, используя C #? - PullRequest
1 голос
/ 14 июня 2019

У меня есть JSON Response, который выглядит примерно так.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 Ответ

1 голос
/ 14 июня 2019

Было бы намного проще, если бы вы создали класс модели для ответа 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;
...