0

加载页面时,我从服务器收到一个Handelbars.java ,并使用. 到现在一切都很好。

但是,我想获取该对象并将其存储在 对象中,这是我失败的地方。

当我尝试将其存储在对象上时,我执行以下操作:

var jsObject = "{{output.items}}";  // the output.items is the JSON retrieved on the template

我得到以下(&quote;和换行符解释):

{
    "profile": {
        "name": "copernic",
        "email": "copernic@cop.com"
    }
    ....
}

当我应该得到以下内容时(不解释换行符):

{
    "profile": {
        "name": "copernic",
        "email": "copernic@cop.com"
    }
    ....
}

所以它在Uncaught SyntaxError: Unexpected token ILLEGAL上给我一个错误。

当使用它在 HTML 模板上打印 json 时<pre>{{output}}</pre>看起来很好。

您是否知道如何将服务器返回的存储在页面加载到对象上,因为我没有太多控制它,因为它没有附带

谢谢你。

4

2 回答 2

0

由于内容output.items是一个字符串,这就是你可以继续的方式。

eval("jsObject={" + object.items.replace(/&quot;/g,'"')+"}");
于 2015-08-29T16:09:24.750 回答
0

您的服务器提供的 json 格式不正确。

您的服务器需要提供带有双引号的 json 字符串。

{
    "profile": {
        "name": "copernic",
        "email": "copernic@cop.com"
    }
}

如果您需要提供格式良好的 json,可以尝试使用 Gson。 https://sites.google.com/site/gson/gson-user-guide#TOC-Using-Gson

于 2015-08-29T15:49:48.240 回答