我正在尝试从代码中的json检索数据。 Json数据不包含任何括号。它只是用逗号(,)分隔的任何数组。我的问题是当我使用 $ scope 获取数据时,在我的输出之外添加一个额外的sqaure括号。演示我的代码是 的 controller.js
$http.get("serverUrl")
.success(function(data) {
$scope.sour = data;
})
.error(function(err) {
console.log("Error in source: "+JSON.stringify(err));
});
HTML
<div>
{{sour}}
</div
预期的json
data
错误
[data]
我有尝试旧堆栈解决方案,但没有一个能为我解决。
请分享是否有人知道为什么会产生这个错误,因为我之前已经使用过这种方法一百次,但从未遇到过这个问题。
问候。
答案 0 :(得分:0)
尝试找到解决方案后。
.toString().replace();
解决了我的问题。
答案 1 :(得分:0)
根据JSON.stringify
按指定here的工作方式,您解释的结果与预期一致。
- 让分隔符成为连接逗号字符的结果, 换行符和缩进。
- 让属性为String 通过连接所有元素的部分字符串形成的 相邻的一对字符串用分隔符分隔。分隔符 字符串未插入第一个字符串之前或之后 最后一个字符
- 让最后的结果是连接&#34; [&#34;,这一行 Feed字符,缩进,属性,换行符, 退后,&#34;]&#34;
醇>
这会产生有效 JSON
字符串。您请求的格式令人困惑,可能是无效的JSON。您可以尝试使用某些JSON
validator online检查JSON
。 (请注意,[1,2,3,4]
有效,其中1,2,3,4
无效)
您可能正在使用期望格式错误JSON
的服务,最好修复该部分而不是编写JSON
。
同时,您唯一要解释的是您获得的格式和正在运行的格式。您还没有确定错误发生的位置? HTTP请求是错误的吗?它是Javascript引发的错误吗?是什么导致错误?您收到了哪些错误消息?