【发布时间】:2018-02-15 00:03:04
【问题描述】:
我有一个简单的 JSON 字符串,封装在一个数组中,该数组使用 Java 中的 JSONArray 和 JSONObject 形式的 org.json 创建。
var outObjA = [{"LoginTime":"2018-02-14 08:51:48.0","User":"f00dl3","RemoteIP":"127.0.0.1"}];
我正在尝试在 JavaScript 中解析它。首先,我使用“i”计数器遍历封装数据的数组:
for(var i = 0; i < outObjA.length; i++) {
var jsonData = JSON.parse(outObjA[i]);
console.log(jsonData);
}
当我尝试解析 JSON 时,出现错误:
SyntaxError: JSON.parse: JSON 数据的第 1 行第 2 列出现意外字符
我在其中构建了一个 try/catch 并返回一个对象:
for (var i = 0; i < outObjA.length; i++) {
var jsonData = null;
try {
jsonData = JSON.parse(outObjA[i]);
} catch (e) {
jsonData = outObjA[i];
}
console.log(jsonData);
}
返回:
{
"LoginTime": "2018-02-14 08:51:48.0",
"User": "f00dl3",
"RemoteIP": "127.0.0.1"
}
这是有效的 JSON,不是吗?
【问题讨论】:
-
那不是 json... 那是 javascript 对象,你无法解析 JavaScript 对象,删除
JSON.parse( -
outObjA已经是一个不需要解析的对象了!如果它是一个字符串,你必须这样做。 -
这是一个用 JavaScript Object Notation 编写的对象,但由于它已经在 Javascript 中,因此不需要解析。
-
@Occam'sRazor JSON 不能是一个对象,所以说 它是一个写成的对象 .... 令人困惑。 JSON 是一个字符串(我想它是一个对象......),它代表一个对象
标签: javascript json