![](/img/trans.png)
[英]Covert JSON objects inside json objects into a JSON Array in Javascript
[英]JSON objects .. inside JSON objects
所以我是 JSON 的新手,並且一直在嘗試一些可能性。 我想知道的一件事:有沒有辦法將'JSON對象'放在'JSON對象'中? 我想假設這是可以做到的,並且希望它成為可能,因為它可能非常有用,但是所有對語法的嘗試都失敗了。 下面是一個標准的例子:
var Person = {
name: 'John',
age: 21,
alive: true,
siblings: [
{
name: 'Andrew',
age: 23,
alive: true
},
{
name: 'Christine',
age: 19,
alive: true
}
]
}
現在,有沒有辦法做類似下面的事情?
var Andrew = {
name: 'Andrew',
age: 21,
alive: true
}
var Person = {
name: 'John',
age: 21,
alive: true,
siblings: [
{
Andrew
},
{
name: 'Christine',
age: 19,
alive: true
}
]
}
如果是這樣,這樣做的正確方法是什么? 或者它可以簡單地,不做?
編輯:我真正的意思是:JSON 是否能夠編碼其中包含對象的對象?
省略花括號:
var Person = {
name: 'John',
age: 21,
alive: true,
siblings: [
Andrew,
{
name: 'Christine',
age: 19,
alive: true
}
]
}
Andrew
是對 JavaScript object 的引用。 花括號符號 - { foo: 1 }
- 是 object文字。 要使用變量而不是文字,您可以省略整個文字語法,包括花括號。
請注意,這些都不是 JSON 或“JSON 對象”。 JSON 是恰好匹配 JavaScript Object 文字語法的字符串。 Once a JSON string has been parsed, it is a JavaScript object, not a JSON object.
例如,這是有效的 JavaScript,但無效的 JSON:
var Person = {
name: "John",
birthDate: new Date(1980, 0, 1),
speak: function(){ return "hello"; },
siblings: [
Andrew,
Christine
];
}
JSON cannot instantiate objects such as new Date()
, JSON cannot have a function as a member, and JSON cannot reference external objects such as Andrew
or Christine
.
你很近。 Andrew
已經是 object,因此您不需要將其包裝在 object 文字語法中(如果您這樣做,您需要一個屬性名稱作為值伴隨它)。 這個怎么樣:
var Andrew = {
name: 'Andrew',
age: 21,
alive: true
}
var Person = {
name: 'John',
age: 21,
alive: true,
siblings: [
Andrew,
{
name: 'Christine',
age: 19,
alive: true
}
]
}
你的想法是對的,看看這個問題,它和你的很相似。 接受的答案應該是您正在尋找的: 嵌套的 JSON 對象 - 我必須使用 arrays 嗎?
var Andrew = {
name: 'Andrew',
age: 21,
alive: true
}
var Person = {
name: 'John',
age: 21,
alive: true,
siblings: [
Andrew,
{
name: 'Christine',
age: 19,
alive: true
}
]
}
去掉括號,因為它已經是 object。
Person.siblings[0].name // Andrew
您不再需要括號。 您可以將Andrew
作為數組值之一。
siblings: [
Andrew,
{
name: 'Christine',
age: 19,
alive: true
}
]
在純 JSON 中,您可以將對象嵌入到對象中,但不能引用對象。
如果您在 JavaScript 中使用 JSON,這是可行的,盡管您不需要它周圍的括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.