Контекст: Я работаю над сервисом среднего человека, который действует как система CMS. Я получаю полный комплексный json-файл, сброшенный на моем сервере, который затем мне нужно обслуживать для моих клиентов, которые ожидают json-контента. (пока не будем рассматривать часть проверки)Анализ вложенных данных json в строку
У меня есть поля имени, версии и содержимого, которые существуют на верхнем уровне. Контент (главы) существует как массив вложенных сложных объектов (~ 5 уровней в глубину).
{
"name": "MyCourse",
"version": 12345,
"chapters": [
{
"name": "Chapter01",
"content": {
"menu": {
"id": "Chapter01_EndMenu",
"file": "ch1_end_op.wav"
},
"score": {
"id": "Chapter01_Score",
"files": [....
То, что я пытался (и работает): Строительство мой POJO, чтобы отразить структуру JSon, где содержание (главы) существует в виде списка сложных объектов. Вызов gson parser на этом работает.
То, что я пытаюсь сделать: Есть более простой POJO с только именем, версией и содержанием, где содержание только хранит представление в виде массива (главы и вложенные объекты) в виде строки.
Я попытался определить свое поле содержимого в pojo как String и задать аннотацию @SerializedName, чтобы заставить gson анализировать массив как строку в нем, но это не работает.
Возможно ли частично получить json как поля и получить остальное (вложенного массива) в поле строки в моем pojo?
Вы хотите, чтобы строка 'chapters' json была в строковой переменной POJO' content' правильно? –
да, это правильно. Массив глав почти слишком глубокий, и слишком много накладных расходов (вложенное pojo-wise) для поддержания, учитывая, что это никак не влияет на мою услугу. – kosh