2016-02-25 42 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

谢谢!那做了这个工作! –