#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