我正在尝试创建一个JSON并用一些数据填充它。数据有点复杂,所以我想拥有" title"," name"和"价值"。
我的问题是我无法从我创建的JSON中获取内容并获得" Uncaught SyntaxError:Unexpected token o"错误信息。但是,如果我只是将json变量传递给console.log(),我可以看到变量中包含的所有对象。
请参阅以下代码:
JSON
var json = [
{"title":"rice",
"value":{
"carb": 44.5,
"fat": 0.1,
"cal": 205,
"prot": 4.3
}
},
{"title":"buckwheat",
"value":{
"carb": 20,
"fat": 1,
"cal": 92,
"prot": 3
}
},
{"title":"potato",
"value":{
"carb": 50.5,
"fat": 0.5,
"cal": 225,
"prot": 5.9
},
}
]
JS
var obj = JSON.parse(json);
console.log(obj[0].title);
答案 0 :(得分:1)
也许我不明白你的问题但是
JSON.parse()
当第一个参数获取一些String,文本值时,转换并将其作为JSON对象返回。由于你有一个 - 你可以用你的数据填充它。
答案 1 :(得分:0)
您的json数据无效。
您可以在Chrome或Mozilla中按f12并查看控制台。您可以找到JS代码的错误。
[
{
"title": "rice",
"value": {
"carb": 20,
"fat": 1,
"cal": 92,
"prot": 3
}
},
{
"title": "buckwheat",
"value": {
"carb": 20,
"fat": 1,
"cal": 92,
"prot": 3
}
},
{
"title": "potato",
"value": {
"carb": 50.5,
"fat": 0.5,
"cal": 225,
"prot": 5.9
}
}
]
答案 2 :(得分:0)
你的var" json"已经是一个javascript对象。只需添加一个分号并修复一个错误("prot": 5.9}
之后的逗号):
var obj = [
{"title":"rice",
"value":{
"carb": 44.5,
"fat": 0.1,
"cal": 205,
"prot": 4.3
}
},
{"title":"buckwheat",
"value":{
"carb": 20,
"fat": 1,
"cal": 92,
"prot": 3
}
},
{"title":"potato",
"value":{
"carb": 50.5,
"fat": 0.5,
"cal": 225,
"prot": 5.9
}
} ];
您只需使用以下内容获取值:
console.log(obj[0].title);
如果要解析json,请以字符串格式保存数据。