将json数组从文件解析为javascript数组:

将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

我正在使用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_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验证器。它们可以在线和离线找到(获取更敏感的信息)。例如:

    “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验证程序。你能行!谢谢,我尝试了你答案中的例子,效果很好。