1

我正在开发一个 Blackberry 5.2 浏览器应用程序。我有一些返回一些 JSON 的 JavaScript。我知道较旧的黑莓手机不支持 JSON 解析,但能够使用 eval 来完成工作。

然而,在运行 5.2 的 Blackberry Curve 上,我的 eval 语句会引发错误。错误是

SyntaxError:eval()中的错误:期望';' 成立 ':' ...

它试图解析的字符串是正确且干净的。

javascript看起来像这样......

            request.open("POST", url, false);

            request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            request.setRequestHeader("Accept", "text/json");

            request.send(params);
            return eval(request.responseText);

它试图评估的响应看起来像这样......

{
    "Authenticated": true,
    "StatusCode": "Success",
    "InternalErrorId": null,
    "AuthenticationToken": "PxjcYnjBLN21ZMcWrEzKi9LC3vdXehMVSegEbVz61aca52113",
    "AuthenticationTokenExpiry": "/Date(1340734497405)/",
    "SessionTimeoutMinutes": 240
}

有谁知道这里可能发生了什么以及如何解决它?

4

1 回答 1

2

用于eval解析 JSON 时,需要将 JSON 包装在().

return eval('('+request.responseText+')');
于 2012-06-26T14:16:27.083 回答