【发布时间】:2016-05-22 21:44:17
【问题描述】:
我正在构建一个 JSON 对象,所以我可以将数据库查询的结果推送到其中,然后返回填充的 JSON 数据。但是从一开始就遇到了问题。
这是我当前的代码:
//var AppenateResString = {name:"777"};
var AppenateResString = {
"DataSources": [{
"Id": "TEST",
"Rows": [
["10011", "10011 - Test Generic Project"]
],
"NewRows": [],
"DeletedRows": []
}],
"LastUpdated": ""
};
var AppenateResBody = JSON.parse(AppenateResString);
response.body = JSON.stringify(AppenateResBody);
但这是我得到的错误:
JavaScript Error: SyntaxError: invalid character 'o' looking for beginning of value
at
<anonymous>:21:23
--
};
var AppenateResBody = JSON.parse(AppenateResString);
^ Error!
我已经把它缩小到我的 JSON 布局有问题..或者我如何构建 JSON 对象..或者一些基本的,“这就是你做 JSON 的方式”之类的事情。但我想不通。
有什么想法吗?
附:如您所见,我已经注释掉了我认为构建的非常简单的 JSON 对象。它同样失败。
【问题讨论】:
-
那不是 json。这只是一个常规的 javascript 变量分配。不需要解析任何东西,因为当整个
<script>块被 javascript 引擎解析时,“json”被解析了。如果你想要实际的 json 并且真的想解析它,那么你需要将 json 分配为一个字符串:var foo = 'json_goes_here'; -
由于这只是实际 javascript 对象/数组数据的变量赋值,您可能会得到一个神奇的“字符串化”版本,即文本
[object Object],这是无效的JSON 术语中的数组定义,因此unexpected o
标签: javascript mysql json