2016-04-29 97 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