从文件中将 json 数组解析为 javascript 数组:
Parsing json array to javascript array from file:
我正在使用 html5 filereader api,这是我的文件:
{"menu_items":[' +
'{"name":"m_div_img1", "icon":"m_img1.jpg", "tip":"m_tip1.png"},' +
'],'+
'"desktop_items":[],'+
'"widget_items":[]}
这是我的代码: http://jsfiddle.net/radibg2/kemqpruu/2/ 我收到此错误:
Uncaught SyntaxError: Unexpected token '
您显示的JSON无效。
"tip: m_tip1.png"
应为"tip": "m_tip1.png"
(请参阅缺少的"
符号)。'+'
连接无效,它是 JS,而不是 JSON。
根据您的示例,这将是更正后的有效 JSON:
{
"menu_items": [
{
"name": "m_div_img1",
"icon": "m_img1.jpg",
"tip": "m_tip1.png"
}
],
"desktop_items": [],
"widget_items": []
}
我建议您以后使用 JSON 验证器。可以在线和离线找到它们(对于更敏感的信息)。就像这个:http://jsonlint.com/
"tip:m_tip1.png" 需要 "tip": "m_tip1.png"
您遇到的错误是说您需要从此文件中删除撇号:Uncaught SyntaxError: Unexpected token '
如果您需要将所有内容放在一条线上,那就去做吧!
{"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 对象的有效版本。就用那个。