Разобрать строку JSON для объекта с атрибутами
В настоящее время мое приложение анализирует JSON следующим образом:
OpenStruct.new(JSON.parse(json_string))
но есть проблемы с этим подходом:
- JSON допускает массивы корневого уровня, такие как
[{id: 1, name: "first"}, {id: 2, name: "second"}]
и OpenStruct не может обработать их, выдавая исключение. - OpenStruct не обрабатывает вложенные элементы.
Я нашел некоторые решения, такие как RecursiveOpenStruct и другие.
- Они обрабатывают вложенные хэши, но по-прежнему не могут обрабатывать массивы верхнего уровня.
- Хэши, вложенные в массив, остаются хэшами:
{data: [{id: 1, name: "first"}, {id: 2, name: "second"}]}
здесь каждый.data[i]
это хеш