Вложенный массив с объектом в MSON пуст в документации Apiary.io

Я хотел бы создать вложенный массив с объектами в формате MSON для использования с API Blueprint и Apiary. Я код выглядит правильно, но когда я визуализирую его в Apiary, я не получаю ожидаемого JSON.

Пример, который я хочу создать: Навигация имеет несколько категорий. Каждая категория может иметь несколько подкатегорий. Каждая категория и подкатегория имеют название.

MSON, который я создал для этого:

FORMAT: 1A

# Test nested arrays-in-object-arrays

A navigation has multiple categories. Each category can have multiple subcategories.

# GET /navigation

+ Response 200 (application/json)

    + Attributes

        + categories (array)
            + (object)
                + name: Category One (string) - Name of the category
                + subcategories (array)
                    + (object)
                        + name: Sub category One (string) - Name of the subcategory

Результат, который я ожидал бы в JSON:

{
  "categories": [
    {
      "name": "Category One",
      "subcategories":
      [
        {
          "name": "Sub category One"
        }
      ]
    }
  ]
}

Результат, который я получаю на пасеке

{
  "categories": [
    {
      "name": "Category One",
      "subcategories": []
    }
  ]
}

person JeroenVdb    schedule 17.06.2015    source источник
comment
Я протестировал ваш пример, и он выглядит как ошибка в синтаксическом анализаторе, поэтому я отправил проблему github. от вашего имени парсеру, если вы не возражаете.   -  person    schedule 17.06.2015
comment
Ошибка была исправлена, поэтому она должна работать как положено.   -  person    schedule 07.01.2016


Ответы (1)


У меня возникли трудности с выполнением чего-то подобного. В итоге я объявил вложенный тип как структуру данных и сослался на него так:

FORMAT: 1A

# Test nested arrays-in-object-arrays

A navigation has multiple categories. Each category can have multiple subcategories.

# GET /navigation

+ Response 200 (application/json)

    + Attributes

        + categories (array)
            + (object)
                + name: Category One (string) - Name of the category
                + subcategories (array[subcategory])

# Data Structures

## subcategory (object)
+ name: Sub category One (string) - Name of the subcategory

Что производит:

{
  "categories": [
    {
      "name": "Category One",
      "subcategories": [
        {
          "name": "Sub category One"
        }
      ]
    }
  ]
}
person The Davester    schedule 17.06.2015
comment
Я также нашел этот обходной путь. Спасибо, что поделились, но, поскольку это все еще обходной путь, я бы предпочел, чтобы исправление (парсер API Blueprint) было правильным ответом. - person JeroenVdb; 18.06.2015
comment
Привет, @JeroenVdb, у нас это на радаре. Мы просто пытаемся сначала исправить некоторые внутренние вещи. - person Pavan Kumar Sunkara; 28.07.2015