如何在Windows 8中解析JSON

Kal*_*zem 4 javascript windows json windows-8 winjs

我正在做一个像这样的winJS.xhr:

var jsonResult;
WinJS.xhr(
{
    url: urlGoogle,
    responseType: 'json'
}
).done(function complete(response) {
    jsonResult = response.responseText;

    console.log(jsonResult);
}, 
//Error and Progress functions
);
Run Code Online (Sandbox Code Playgroud)

控制台日志向我显示:

{lhs: "32 Japanese yen",rhs: "0.30613818 Euros",error: "",icc: true}
Run Code Online (Sandbox Code Playgroud)

我想得到rhs信息.所以我尝试了

console.log(jsonResult.rhs); 
Run Code Online (Sandbox Code Playgroud)

console.log(jsonResult['rhs']);
Run Code Online (Sandbox Code Playgroud)

它只显示我"未定义".然后我意识到,当我做了一个jsonResult [0]时,它会显示第一个字符(即{)等等,并带有索引括号.

我试着做一个JSON.parse(jsonResult); 但它会造成错误

json parse unexpected character
Run Code Online (Sandbox Code Playgroud)

Sea*_*sey 6

您看到的字符串实际上并不是有效的JSON,因为它的属性名称未被引用.这就是JSON.parse抛出错误的原因.