2015-07-31 6 views
1

У меня проблема, подобная описанной here.MSON для описания атрибутов объекта в проекте

У меня есть JSON, который выглядит следующим образом:

{ 
    "photos": [ 
    { 
     "key": "y37dmj10jkwof/moOIUB8912JKVgh", 
     "caption": "A world of gamers.", 
     "tags": [ 
     "game", 
     "japan" 
     ], 
     "attributes": { 
     "copyright": true, 
     "use": [ 
      "public", 
      "private" 
     ] 
     } 
    } 
    ] 
} 

и я пытаюсь описать атрибуты, используя MSON, чтобы сделать план. Однако я не увенчался успехом. Вот моя попытка:

+ Attributes (required, object) 
    + photos (required, array) 
     + (object) 
      + key (required, string) - Photo key 
      + caption (required, string) - Photo caption 
      + tags (required, array) 
       + game (string) 
       + japan (string) 
      + attributes (required, object) 
       + (object) 
        + copyright: true (required, boolean) 
        + uses (required, array) 
         + public (string) 
         + private (string) 

Идеи кто-нибудь? Любой вход был бы высоко оценен.

ответ

1

Вот пример того, что я думаю, что делает то, что вы хотите:

+ Attributes 
    + photos (required, array) 
     + (object) 
      + key: y37dmj10jkwof/moOIUB8912JKVgh (required) - Photo key 
      + caption: A world of gamers (required) - Photo caption 
      + tags: game, japan (required, array) 
      + attributes (required) 
       + copyright: true (required, boolean) 
       + use: public, private (required, array) 

Обратите внимание, что вы можете поместить значение выборки для массивов как разделенный запятыми список, и там обычно нет необходимости явно указать, когда тип является string или object (если у него нет имени). Что касается объекта attributes, вы можете напрямую на него нажимать клавиши, не нужно делать другой уровень с + (object)

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

+1

Эй, Даниель, благодарю вас за это. Я использую aglio для рендеринга. Ваш пример - тот, который я уже использовал в прошлом, и все еще не то, что ожидаю. Aglio отображает только массив фотографий в схеме. См. Здесь: https://gist.github.com/aichholzer/612f0c359309f455fe69#file-rendered-schema – Aichholzer

+1

Возможно, проблема с aglio? – Aichholzer

+0

@Aichholzer это в настоящее время обрабатывается за кулисами библиотеки под названием [boutique.js] (https://github.com/apiaryio/boutique.js) (через зависимость aglio drafter.js). Возможно, он работает неправильно. План заключается в том, чтобы вскоре его заменить реализацией C++ [Drafter] (https://github.com/apiaryio/drafter), которая (или будет иметь) аналогичную (быструю, лучшую) функциональность. – Daniel

 Смежные вопросы

  • Нет связанных вопросов^_^