Есть ли простой способ получить встроенный расширенный формат JSON из Contentful response

Contentful — очень полезный сервис, но, к сожалению, формат ответа json не поддерживает стандартный расширенный формат данных json.

Это требует от нас написания и дополнительного транслятора для возврата общей вложенности структуры json.

Например, с Contentful мы получаем (упрощенная версия)

{
"module" : {
      "lessons" : [
          "id": "<lesson_id>"
      ]
    }

  "includes": {
    "Entry": [
      {
        id: "<lesson_id>",
        lesson : {
            "lesson data" : "lesson data",
            topics : [
                "id" : "<topic_id>"
            ]
        }
      },
        id: "<topic_id>",
        topic : {
            "topic data" : "topic data",
            ]
        }    
      }
    ]
  }

Но мы хотим этого

{
"module" : {
      "lessons" : [ 
          {
                "lessonData" : "lesson data",
                "topics" : [
                    {
                      "topicData" : "topic data",
                    }
                ]
          }
      ],
    }
}

У кого-нибудь есть универсальный инструмент для сборки ответа Contentful в стандартный ответ json?


person PFaunik    schedule 20.07.2016    source источник


Ответы (1)


Использовали ли вы какой-либо из наших SDK? У них есть встроенное разрешение, поэтому вам не нужно делать это вручную.

С ними уже создано множество инструментов, например, для сериализации контента в YAML (с использованием формата, аналогичного тому, что вы описываете), чтобы генераторы статических сайтов могли его использовать.

Подробнее об этом можно прочитать на странице разработчиков: https://www.contentful.com/developers/docs/

Надеюсь это поможет

person David Litvak    schedule 20.07.2016
comment
Мы бы предпочли использовать стандартный REST API. Есть ли причина, по которой у Contentful нет возможности выводить этот стандартный формат json? Есть ли в разделе dev специальный инструмент, который может генерировать стандартный json, о котором я упоминал? - person PFaunik; 20.07.2016
comment
Причина, по которой связанные записи находятся в разделе «включает», состоит в том, чтобы уменьшить беспорядок и увеличить скорость отклика. В основном это связано с тем, что записи и активы могут быть связаны во многих других ресурсах, что приводит к постоянно растущему количеству ответов. Таким образом, мы сохраняем его чистым и простым. - person David Litvak; 21.07.2016