Там какой-либо путь состоит в том, чтобы иметь вложенные объекты в JSON, таким образом, я не должен делать массивы из всего? Чтобы мой объект был проанализирован без ошибки, мне, кажется, нужна структура как это:
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
Если я выбираю этот объект в переменную, названную "результатом", я должен получить доступ к вложенным объектам как это:
result.data[0].stuff[0].onetype[0]
и
result.data[1].otherstuff[0].thing[0]
Это кажется неуклюжим и избыточным мне, если возможный я предпочел бы:
result.stuff.onetype[0]
и
result.otherstuff.thing
Но как я могу использовать объектные ключи непосредственно, когда все - массив? К моему запутанному и необразованному уму что-то вроде этого казалось бы более соответствующим:
{"data":
{"stuff":
{"onetype":[
{"id":1,"name": ""},
{"id":2,"name": ""}
]}
{"othertype":[
{"id":2,"xyz": [-2,0,2],"n":"Crab Nebula","t":0,"c":0,"d":5}
]}
}
{"otherstuff":
{"thing":
[[1,42],[2,2]]
}
}
}
Я, вероятно, неправильно понял что-то фундаментальное здесь, но я не могу заставить синтаксический анализатор jQuery (ни собственный синтаксический анализатор FF, используемый jQuery 1.4) принимать второй объект стиля. Если бы кто-либо может просветить меня, это с благодарностью ценилось бы!
Вам не нужно использовать массивы.
Значения JSON могут быть массивы, объекты или примитивы (цифры или строки).
Вы можете написать JSON, как это:
{
"stuff": {
"onetype": [
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
],
"othertype": {"id":2,"company":"ACME"}
},
"otherstuff": {
"thing": [[1,42],[2,2]]
}
}
Вы можете использовать его так:
obj.stuff.onetype[0].id
obj.stuff.othertype.id
obj.otherstuff.thing[0][1] //thing is a nested array or a 2-by-2 matrix.
//I'm not sure whether you intended to do that.
Тяжело, но правда: просто не используйте его. Eclipse отлично с Java (EE), но слабым с (x) HTML / JSP в целом. Intellij здесь лучше. В Eclipse вам просто приходится уже Написать хороший целевой участок (X) HTML / JSP код. Однако вы можете настроить несколько параметров в настройках WEB > HTML-файлы > Редактор , такие как ширина линии . Но все же, это не приятно не подчинять код.
-121--5044732-Каждый объект должен быть назван внутри родительского объекта:
{ "data": {
"stuff": {
"onetype": [
{ "id": 1, "name": "" },
{ "id": 2, "name": "" }
],
"othertype": [
{ "id": 2, "xyz": [-2, 0, 2], "n": "Crab Nebula", "t": 0, "c": 0, "d": 5 }
]
},
"otherstuff": {
"thing":
[[1, 42], [2, 2]]
}
}
}
Итак, вы не можете объявить такой объект:
var obj = {property1, property2};
Это должно быть
var obj = {property1: 'value', property2: 'value'};