Javascript 即使json是正确的,json解析在java脚本中也不起作用?
大多数在线解析器都成功解析了上述JSON 另外,我可以直接把它放在浏览器的js控制台中,我可以从控制台中读取 如果我在使用json.parse()时为变量赋值,且变量给出错误:Javascript 即使json是正确的,json解析在java脚本中也不起作用?,javascript,json,Javascript,Json,大多数在线解析器都成功解析了上述JSON 另外,我可以直接把它放在浏览器的js控制台中,我可以从控制台中读取 如果我在使用json.parse()时为变量赋值,且变量给出错误: var data={ "apple_scab": { "sym": "Dark velvet covering on leaves, Velvety olive-green to black spots on leaves", "cause": "Venturia inaequalis", "
var data={
"apple_scab": {
"sym": "Dark velvet covering on leaves, Velvety olive-green to black spots on leaves",
"cause": "Venturia inaequalis",
"nc_c": "Use resistant varieties: Prima, Priscilla, Sir Prize, Jonafree, Red free, Dayton, Pristine, Goldrush, Enterprise or Liberty.",
"c_c": "Use fungicide such as Captan."
}}
var obj=JSON.parse(数据);
*VM568:1未捕获的语法错误:JSON中位置1处的意外标记o
在JSON.parse()处
时间:1:6*
JSON.parse
接受一个字符串,该字符串被解析,然后返回一个满是解析数据的对象。但你正在传递一个对象<代码>数据
已经被解析,所以这里根本不需要JSON.parse
由于javascript的一些奇怪的怪癖,在JSON中的位置1处出现了这个错误。基本上,它试图将对象强制为字符串,以便可以对其进行解析。对象被强制为字符串,就像[object object]
一样。你真的在跑步
var obj = JSON.parse(data);
*VM568:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at <anonymous>:1:6*
这是无效的json,错误告诉您字符串的第一个字符无效
但在您的情况下,您可以简单地使用数据
,而无需解析
JSON.parse('[object Object]')
从我收集的信息来看,您正在尝试解析一个已经是对象的对象
var data={
"apple_scab": {
"sym": "Dark velvet covering on leaves, Velvety olive-green to black spots on leaves",
"cause": "Venturia inaequalis",
"nc_c": "Use resistant varieties: Prima, Priscilla, Sir Prize, Jonafree, Red free, Dayton, Pristine, Goldrush, Enterprise or Liberty.",
"c_c": "Use fungicide such as Captan."
}
}
console.log(data.apple_scab.cause) //-> Venturia inaequalis
这将失败,因为JSON.parse()
无法解析对象
var data={
"apple_scab": {
"sym": "Dark velvet covering on leaves, Velvety olive-green to black spots on leaves",
"cause": "Venturia inaequalis",
"nc_c": "Use resistant varieties: Prima, Priscilla, Sir Prize, Jonafree, Red free, Dayton, Pristine, Goldrush, Enterprise or Liberty.",
"c_c": "Use fungicide such as Captan."
}
}
console.log(data.apple_scab.cause) //-> Venturia inaequalis
为了成功,它必须是一个字符串
let someObject = { hello: "world" };
JSON.parse(someObject);
这将成功并解析该对象。因为它是一个对象,所以您的JSON看起来已经解析。JSON是一个字符串<代码>数据
是一个对象。Parse需要一个字符串。QEDThat是JS,而不是JSON大多数在线解析器都成功解析了上述json
这似乎有点可疑。“我试过了,它不起作用,请帮我解决”它已经是一个对象了。无法分析对象。。。。您正在执行:JSON.parse(“[object]”),因为object.toString返回“[object]”