Код JSON не анализируется и не показывает никаких ошибок

#c# #json.net

#c# #json.net

Вопрос:

У меня возникла проблема с циклическим воспроизведением некоторого кода JSON, мой JSON выглядит так:

 {
    "mode_1": [
        "line_1",
        "line_2",
        "etc ..."
    ]
}
 

Я пробовал с моим кодом:

 var json = Helpers.GetJsonTemplateToUse(_currentSite, "site_json_1");
dynamic array = JsonConvert.DeserializeObject(json["mode_1"]);
foreach (var macro in array) 
{
   Helpers.ReturnMessage(macro);
}
 

json Var запрашивает и возвращает код JSON для синтаксического анализа, затем DeserializeObject и foreach но я думаю, что я сделал это неправильно, я не получаю никаких ошибок как таковых, но ReturnMessage функция не выводит никаких строк, любая помощь будет оценена.

Комментарии:

1. попробуйте следующее : string[] modes = JsonConvert.DeserializeObject<string[]>(json["mode_1"]);

2. кажется, вам просто нужно сделать foreach (string macro in json["mode_1"]) , чтобы это сработало.

3. Что возвращается Helpers.GetJsonTemplateToUse ?

4. Helpers.GetJsonTemplateToUse просто возвращает код JSON, как указано выше.

5. Тогда что возвращается json["mode_1"] ? Похоже, что вы анализируете половину своего JSON в одном месте, а другую половину в другом месте.

Ответ №1:

Вероятно, вы не получаете никакого сообщения об ошибке, потому что вы используете dynamic

Попробуй:

 var array = JsonConvert.DeserializeObject<YourModel>(json["mode_1"]);
 

YourModel должен быть вашим пользовательским классом объектов Json