gpt4 book ai didi

javascript - 无法解析我的 Phonegap 项目中的 JSON 字符串错误

转载 作者:太空狗 更新时间:2023-10-29 15:10:58 30 4
gpt4 key购买 nike

我在从 PHP 获取 JSON 时遇到问题。下面的代码是有效的:

[{
"vehicleId": "1",
"status": "Running",
"position": "x",
"battery": "25",
"distanceTravelled": "123",
"destination": "y",
"freeSeats": "2",
"speed": "32"
}
]

但是,我的代码的新版本是这样的(数字值中没有引号),它给出了一个解析 Json 错误并且没有显示任何内容。

[{ 
"vehicleId": 1,
"status": "Running",
"position": "x",
"battery": 25,
"distanceTravelled": 123,
"destination": "y",
"freeSeats": 2,
"speed": 32
}
]

我在 jsonlint.com 上检查了格式,它是有效的。 Eclipse 中的日志报错是:

05-09 21:37:25.536: E/Web Console(336): SyntaxError: Unable to parse JSON string at file:///android_asset/www/MobileMan.js:37

34 xmlhttp.open("GET",url,false);
35 xmlhttp.send();
36 var json = xmlhttp.responseText;
37 obj = JSON.parse(json);

我还在我的计算机上的 Chrome 上尝试了 Javascript 代码,一切正常。我无法解决问题。感谢您的回答。

最佳答案

好吧,如果解析器抛出错误,那么这意味着提供给解析的值不是纯 JSON 对象。

关于JSON.parse

  • JSON.parse - 将字符串解析为 JSON,可选择转换解析产生的值。如果要解析的字符串不是有效的 JSON,则会抛出 SyntaxError 异常。

另一方面,关于JSON.stringify

  • JSON.stringify - 将值转换为 JSON,如果指定了替换函数,可选择替换值,或者如果指定替换数组,可选择仅包含指定的属性。

因此在您的情况下,您首先需要将获得的结果转换为 JSON 对象,然后尝试解析它。

a = [{ 
"vehicleId": 1,
"status": "Running",
"position": "x",
"battery": 25,
"distanceTravelled": 123,
"destination": "y",
"freeSeats": 2,
"speed": 32
}
];

var b = JSON.stringify(a);
var c = JSON.parse(b);
console.log(c)

关于javascript - 无法解析我的 Phonegap 项目中的 JSON 字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482976/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com