JSON список тегов / значений - PullRequest
1 голос
/ 26 сентября 2010

Я работаю над проектом, в котором требуется, чтобы объект имел несколько значений.Например, список «вещей», все с именем, но у каждой вещи есть и другая категория, «Теги», может включать такие вещи, как круг, круг, мяч, спорт и т. Д., Все слова, описывающие, что такое «вещь».Я пытаюсь определить это в JSON, но продолжаю сталкиваться с ошибками с помощью jsonlint.Взгляните:

{
"things":[{
    "name":"thing1",
    "tags":[{"globe","circle","round","world"}]
},
{
    "name":"thing2",
    "tags":[{"cloud","weather","lightning","sky"}]
},
{
    "name":"thing3",
    "tags":[{"round","bullseye","target"}]
},
{
    "name":"thing4",
    "tags":[{"round","key","lock"}]
},
{
    "name":"thing5",
    "tags":[{"weather","sun","sky","summer"}]
}]
}

Надеюсь, вы видите, чего я пытаюсь достичь.

Спасибо за вашу помощь!

Энтони

Ответы [ 2 ]

3 голосов
/ 26 сентября 2010

Мне кажется, что ваши объекты "меток" отключены.Код:

[{"globe","circle","round","world"}]

попытается создать массив объекта, свойства которого не имеют значений, но я не уверен, что это даже допустимый синтаксис.Хотите массив слов для "тегов"?Если это так, вам нужно удалить эти фигурные скобки:

var myThings = {
    "things":[{
        "name":"thing1",
        "tags":["globe","circle","round","world"]
    }]
};

Это даст вам объект со свойством «вещи», который содержит массив из одного объекта со свойством «имя» и «теги»,где «теги» - это массив слов.

Вы можете получить доступ к «тегам» следующим образом:

var thing1tag2 = myThings.things[0].tags[1]; // = "circle"
1 голос
/ 26 сентября 2010

Если у каждой вещи есть имя, то почему бы не использовать это имя в качестве тега следующим образом:

var things = {
  "thing1": ["globe", "circle", "round", "world"],
  "thing2": ["cloud", "weather", "lightning", "sky"],
  "thing3": ["round", "bullseye", "target"],
  "thing4": ["round", "key", "lock"],
  "thing5", ["weather", "sun", "sky", "summer"]
};

Теперь вы можете ссылаться на things.thing1 или things.thing2 и теги как things.thing1[0] и things.thing2[2] и т. Д.

...