2016-04-29 44 views
0

我试图在我的代码中从json中检索数据。 Json数据不包含任何括号。它只是用逗号(,)分隔的任何数组。我的问题是,当我使用$范围获得数据时,在我的输出之外添加了一个额外的方括号。我的代码演示是 controller.js额外的方括号获取Json数据时添加

$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

你得到了什么错误?请提及确切的错误。 – sabithpocker

+0

感谢您的回复。我更新了我的代码。 – Atula

回答

0

尝试找出解决方案后。

.toString().replace();

解决了我的问题。

+0

*但*仍然不知道这样的错误背后的实际原因。如果有人知道,那么请把它发布在这里。 – Atula

+0

然后将此答案标记为解决方案。 – mantoviejo

+0

以及我试过,但它说我可以在2天后标记它。我认为有点阻塞。 – Atula

0

根据JSON.stringify如何按照指定here的规定工作,您所解释的结果与预期相符。

  1. 设分离器是串联逗号字符, 换行符,和缩进的结果。
  2. 让属性成为字符串 形成的连接所有元素字符串的部分与每个 相邻的字符串与分隔符分隔。分隔符 字符串未插入到第一个字符串之前,也未在 最后一个字符串之后插入。
  3. 让最终是级联的结果“[”,行 饲料字符,缩进,属性,换行符, 步退,和“]”

,这将导致在一个有效JSON字符串。您请求的格式很混乱,可能是无效的JSON。您可以尝试使用JSON validator online检查JSON。 (注意:[1,2,3,4]有效其中作为1,2,3,4无效

你可能具有期待一个畸形JSON服务,这将是更好地解决这个问题一部分,而不是鸭的录音您JSON

同时,你唯一要解释的是你得到的格式和工作的格式。你还没有指定错误发生的地方?来自HTTP请求的错误吗?它在Javascript中引发错误吗?什么导致了错误?你收到什么错误信息?

+0

我的json和[1,2,3,4]很像,但是我们在视图中检索json {{data}},然后方括号不会在视图中显示,如果它们被添加在json格式,而他们只显示,如果我们已经在json手动添加它们。 – Atula

+0

你能解释一下吗?你想要解释的是不明确的。 – sabithpocker