Проверьте, чтобы увидеть, если объект в массив JSON является также массив
Привет,
У меня есть JSON-файл, который содержит массив каналов для устройства. Но если это приспособление имеет несколько ячеек, некоторые из каналов должны быть повторены. Мой JSON-файл делает это, имея массив каждой ячейки, а затем еще один массив каналов, которые должны быть повторены для каждой ячейки. Эти два массива находятся внутри массива внутри массива основных каналов. Мне нужен способ проверить, есть ли внутри массива основных каналов другой массив, чтобы определить, имеет ли прибор несколько ячеек или нет. Я не могу изменить файл JSON, так как он поступает из другого источника, и я хочу, чтобы файлы приспособлений были легко обновляемы.
Это мой JSON:
{ "name": "16: Effect RGB", "channels": [ "Dimmer Master", "Strobe Master", "Programs", "Program Speed", "Program Fade Time", "Program Direction", "Program Group Size", "Group Offset", "Restart Program", { "insert": "matrixChannels", "repeatFor": [ "Effect Color 1", "Effect Color 2", "Effect Color 3", "Effect Color 4" ], "channelOrder": "perPixel", "templateChannels": [ "Red $pixelKey", "Green $pixelKey", "Blue $pixelKey" ] } ] },
Что я уже пробовал:
Я действительно не знаю, как это проверить в C#. Я могу заставить его проверить, сколько элементов находится в основном массиве каналов, но затем, очевидно, когда дело доходит до массива внутри массива каналов, он выплевывает ошибку. Любая помощь будет оценена по достоинству! Ваше здоровье!
Richard MacCutchan
- он выплевывает ошибку."
Что такое "это" и в чем ошибка?
Member 14647867
Извините, что это ошибка: Newtonsoft.Json.JsonReaderException: 'неожиданный символ, встреченный при разборе значения: {. Path 'modes[15].channels[8]', строка 1666, позиция 9.'
Richard MacCutchan
Предполагая, что это действительно так: {. Path 'modes[15].channels[8]'
тогда либо полная остановка после открывающей скобки, либо одинарная кавычка перед режимами-это chcharacter 9. Я подозреваю, что ни один из них не принадлежит к строке JSON.