将json数组从文件解析为javascript数组:
我正在使用html5 filereader api,这是我的文件:将json数组从文件解析为javascript数组:,javascript,json,filereader,Javascript,Json,Filereader,我正在使用html5 filereader api,这是我的文件: {"menu_items":[' + '{"name":"m_div_img1", "icon":"m_img1.jpg", "tip":"m_tip1.png"},' + '],'+ '"desktop_items":[],'+ '"widget_items":[]} 这是我的代码: 我得到这个错误: Uncaught SyntaxError: Unexpected token ' 您显示的JSON无效 “tip:m_ti
{"menu_items":[' +
'{"name":"m_div_img1", "icon":"m_img1.jpg", "tip":"m_tip1.png"},' +
'],'+
'"desktop_items":[],'+
'"widget_items":[]}
这是我的代码:
我得到这个错误:
Uncaught SyntaxError: Unexpected token '
您显示的JSON无效
“tip:m_tip1.png”
应该是“tip”:“m_tip1.png”
(请参见缺少的“
符号)“+”
串联无效,它是JS,而不是JSON{
"menu_items": [
{
"name": "m_div_img1",
"icon": "m_img1.jpg",
"tip": "m_tip1.png"
}
],
"desktop_items": [],
"widget_items": []
}
我建议您以后使用JSON验证器。它们可以在线和离线找到(获取更敏感的信息)。例如:“tip:m_tip1.png”需要“tip”:“m_tip1.png”“您收到的错误是,您需要从此文件中删除撇号:
未捕获的语法错误:意外标记”
如果你需要把所有的东西都放在一条线上,那么就这样做吧
{"menu_items":[{"name":"m_div_img1", "icon":"m_img1.jpg", "tip":"m_tip1.png"}],"desktop_items":[],"widget_items":[]}
这将使您绕过多行限制,如果这是您正在处理的。否则,Sampsa在回答中所写的内容将是最干净的选择。您发布的内容看起来像是一段Javascript代码,它将多个字符串文本连接起来,以构建一个表示有效JSON对象的字符串。但是您所说的意味着这是一个.json文件,而不是一段Javascript代码,在这种情况下,您不应该在其中包含任何“+”
Sampsa已经发布了JSON对象的有效版本。使用它。您的JSON文件是否真的像这样,带有加号和所有符号?是的。它看起来就是这样。这不是有效的JSON,不能用
JSON解析。解析,因为加号和单引号是意外的标记,它们不属于这里。请查看我提供的有效JSON与您拥有的有效JSON之间的差异。我想你可以自己进一步调试它!我试过{“雇员”:['+'{“姓氏”:“约翰”,“姓氏”:“Doe”},+'{“姓氏”:“安娜”,“姓氏”:“史密斯”},+'{“姓氏”:“彼得”,“姓氏”:“琼斯”}来自w3school的例子,适用于他们的例子,我的代码是相同的,同样的错误再次表明,“+”
连接是破坏JSON的因素,也是答案中显示的一个错误。仔细检查JSON并使用JSON验证程序。你能行!谢谢,我尝试了你答案中的例子,效果很好。