2

我想创建一个嵌套数组,其中包含 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"
        }
      ]
    }
  ]
}

我在 Apiary 中得到的输出

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

2 回答 2

5

我在做类似的事情时遇到了困难。我最终将嵌套类型声明为数据结构并像这样引用它:

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"
        }
      ]
    }
  ]
}
于 2015-06-17T13:46:56.120 回答
1
+ Response 200 (application/json)

    + Attributes(CATEGORIES)


# Data Structures

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

## CATEGORIES (object)
- categories (array)
    - (object)
        - name: `Category One` (string) - Name of the category
        - subcategories (array[SUBCATEGORY])
于 2015-07-28T10:23:43.143 回答