额外的方括号在检索Json数据时添加

时间:2016-04-29 06:41:37

标签: javascript jquery html json ionic-framework

我正在尝试从代码中的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]

我有尝试旧堆栈解决方案,但没有一个能为我解决。 请分享是否有人知道为什么会产生这个错误,因为我之前已经使用过这种方法一百次,但从未遇到过这个问题。
问候。

2 个答案:

答案 0 :(得分:0)

尝试找到解决方案后。

.toString().replace();

解决了我的问题。

答案 1 :(得分:0)

根据JSON.stringify按指定here的工作方式,您解释的结果与预期一致。

  
      
  1. 让分隔符成为连接逗号字符的结果,   换行符和缩进。
  2.   
  3. 让属性为String   通过连接所有元素的部分字符串形成的   相邻的一对字符串用分隔符分隔。分隔符   字符串未插入第一个字符串之前或之后   最后一个字符
  4.   
  5. 让最后的结果是连接&#34; [&#34;,这一行   Feed字符,缩进,属性,换行符,   退后,&#34;]&#34;
  6.   

这会产生有效 JSON字符串。您请求的格式令人困惑,可能是无效的JSON。您可以尝试使用某些JSON validator online检查JSON。 (请注意,[1,2,3,4] 有效,其中1,2,3,4 无效

您可能正在使用期望格式错误JSON的服务,最好修复该部分而不是编写JSON

同时,您唯一要解释的是您获得的格式和正在运行的格式。您还没有确定错误发生的位置? HTTP请求是错误的吗?它是Javascript引发的错误吗?是什么导致错误?您收到了哪些错误消息?