2016-02-25 41 views
0

從通過角的Java servlet我的響應,請求內容是text/html 我用data.split有效的JSON不與NG-重複工作

d = response.data.replace(/^\s+|\s+$/g, ''); // remove /r/n 
data = d.split(" "); 
for(var i =0 ; i<data.length; i++){ 
    data[i] = '{' + data[i] + '}'; // add {} to each k.v 
} 

結果是這樣的:

["{key:myKey,value:true}", "{key:myKey,value:true}"....] 

而且我的HTML

<ul> 
    <li ng-repeat="line in fixedDBArray"> 
    {{line.key}} - {{line.value}} 
    </li> 
</ul> 

anguler data-binding樣子:

$scope.fixedDBArray = data //response.data 

而且{{fixedDBArray}}工作正常,但{{line.key}}{{line.value}}不起作用。我檢查了http://jsonlint.com/和json是有效的。 任何人都知道什麼是問題?

+2

服務器代碼有問題。它將每個對象包含在不應該存在的引號中。它是有效的JSON,而不是數組的對象你有字符串數組 – charlietfl

+0

不,我做了它在js中,服務器返回一個簡單的字符串在開始和結束時用引號。 –

+0

服務器應以任何方式返回有效的json,並具有所需的結構。顯示更多的轉換代碼 – charlietfl

回答

1

如果你仍然想解決這個問題,現在它。你可以使用替換方法並使值有效的JSON對象。我做了一個這樣的示例實現here

請確保您使用更有效的正則表達式來添加額外的引號。只是發佈它供您參考,而不考慮性能或複雜性。

+0

謝謝!那做了這個工作! –