【问题标题】:Chrome App reading JSON as stringChrome 应用程序将 JSON 读取为字符串
【发布时间】:2013-08-02 01:26:47
【问题描述】:

我正在将 web 应用程序构建到 Chrome 应用程序中,除了一个问题外,一切都运行良好,我加载了一个 JSON 文件,它读取每个字符,就好像它是一个字符串一样。原生网络应用不这样做:

$.get('plugins.json', function (list) {
    for (var plugin in list) {
        ...code stuff...
    }
});

...正常工作,但在作为 Chrome 应用程序运行时会吐出文件的每个字符...

plugins.json:

{
    "MyPlugin": "plugindir"
}

变成:

{,",M,y,P,l,u,g,i,n...

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery json google-chrome-app


    【解决方案1】:

    用 $.getJSON() 代替 $.get() 怎么样?

    【讨论】:

    • 我正要回答我自己的问题。奇怪的是它可以在本机运行但不能在 Chrome 应用程序中运行,一定与将 Accept 标头设置为 application/json 有关。
    【解决方案2】:

    看起来像函数

    $.get('plugins.json', function (list) {
    

    不知道它应该与 JSON 一起使用。您可以尝试检查响应标头,可能 Content-Type 错误。或者你可以试试这个

    $.get('plugins.json', function (list) {
        list = JSON.parse(list);
        for (var plugin in list) {
            ....
    

    【讨论】:

    • JSON.parse 仅适用于 Chrome 应用程序构建,它破坏了本机应用程序,因为本机文件被解释为 JSON。 $.getJSON 在这两种情况下都有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2013-11-02
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多