2016-09-21 86 views
0
var json = { 
    "responseHeader": { 
     "zkConnected": true, 
     "status": 0, 
     "QTime": 0 
    }, 
    "spellcheck": { 
     "suggestions": ["a", { 
      "numFound": 6, 
      "startOffset": 0, 
      "endOffset": 1, 
      "suggestion": ["a", "b", "c", "d", "e", "f"] 
     }] 
    } 
} 

如何从使用javaScript的json中的建议获取建议?如何从嵌套对象中获取数据

+0

我们展示的完整代码 – Weedoze

+0

'json.spellcheck.suggestions'? – passion

+0

'json.spellcheck.suggestions [1] .suggestion'。 JSON只是数组和对象的组合。 –

回答

1

这样,如果你想获得全阵列

var allSuggestion = json.spellcheck.suggestions[1].suggestion 

或一个特定的值

var valueA = json.spellcheck.suggestions[1].suggestion[0]; 

Example Fiddle

0

我们可以通过使用

var Suggestions = json.spellcheck.suggestions[1].suggestion 
得到的所有建议

或获得一个位置值,你可以用它

var Suggestions = json.spellcheck.suggestions[1].suggestion[index] 

索引,你也可以申请foreach循环来获取值或对象。

由于

0

enter image description here

只需看起来在对象阵列的表达结构上面的图片。

如果结构由{}包裹,表示它的一个对象,以便您可以通过.其中包含属性名称和它的值(任何类型的值)访问属性

如果包裹被[]即表明它是数组,所以你可以通过[<index>]访问内部值。它只包含一组值(任何类型的值)。

这里​​为对象,因为它通过{}内部级属性“responseHeader”包装,“拼写检查”的对象,因为它的结构由{}包裹,但你看看子水位“建议”是由[]使阵列包裹。

如果您要访问的zkConnected值,使你的代码应该是

console.log(json.responseHeader.zkConnected); 

如果您要访问的numFound值,使你的代码应该是

console.log(json.spellcheck.suggestions[1].numFound); 

因为建议是阵列有两个值,一个是索引0处的字符串“a”,另一个是索引1处的对象。

如果要访问的“e”所以你的代码应该是

console.log(json.spellcheck.suggestions.suggestion[4]); 

因为下的建议,建议是阵列和e站在五号位,所以你可以通过索引4(位置1)访问

var json = { 
    "responseHeader": { 
     "zkConnected": true, 
     "status": 0, 
     "QTime": 0 
    }, 
    "spellcheck": { 
     "suggestions": ["a", { 
      "numFound": 6, 
      "startOffset": 0, 
      "endOffset": 1, 
      "suggestion": ["a", "b", "c", "d", "e", "f"] 
     }] 
    } 
} 
相关问题