我是JSON的新手,我无法弄清楚如何打印键值对,这是我的JSON代码:
{
"name": "open",
"auto": true,
"contexts": [],
"userNebolaK": [
{
"data": [
{
"text": "open"
}
],
"isTemplate": false
}
],
"responses": [
{
"resetContexts": false,
"action": "doSomeAction",
"affectedContexts": [],
"parameters": [
{
"required": false,
"name": "para"
}
],
"this": "one moment please"
}
],
"state": "UNKNOWN",
"priority": 500000,
"webhookUsed": false
}

和HTML
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title> </title>
<script src='http://code.jquery.com/jquery-1.7.1.min.js'></script>
</head>
<body>
<script type="text/javascript">
//$.getJSON('testing3.json', function(dataE) {
// document.write(dataE.user);
//})
$.getJSON('testing.json', function(data) {
$.each(data, function(target1) {
console.log(target1);
})
})
</script>
</body>
</html>
&#13;
我需要打印对应于=&gt;中文字的值UserNebolaK数据文本 也是UserNebolaK-isTemplate
提前致谢!
答案 0 :(得分:1)
您可以使用点表示法访问这两个值。假设您的json存储在名为jsonData
的变量中,它将如下所示:
console.log(jsonData.userNebolaK.data[0].text);
和
console.log(jsonData.userNebolaK.isTemplate);
值得注意的是userNebolaK.data
是一个数组,这就是为什么我们需要上面代码中的[0]
来访问它,但是如果该数组中有多个元素,你可能需要做一些逻辑:
for (var i=0; i<jsonData.userNebolaK.data.length; i++) {
console.log(jsonData.userNebolaK.data[i].text);
}
此for
循环将遍历userNebolaK.data数组中的所有值并记录每个值。如果要查找特定的一个,则可以在循环的每次迭代中应用类似if
语句的条件。
答案 1 :(得分:0)
如果你使用jQuery,那么你可以将json解析为一个对象并使用它:
var json = $.parseJSON(json);
$.each(json.fragen, function(index){console.log(this);});