[英]Json Object in ng-repeat
response object like 响应对象
$scope.list= [
Object {
cid=74,
date="2016-08-25T00:00:00.000+0530",
optkey="key",
optvalue="{
value:{
'name':test,
'gender':male
}
}"
},
Object {
cid=75,
date="2016-08-25T00:00:00.000+0530",
optkey="key",
optvalue="{
value:{
'name':test2,
'gender':female
}
}"
}},
Object {
cid=77,
date="2016-08-26T00:00:00.000+0530",
optkey="key",
optvalue="{
value:{
'name':test1,
'gender':female
}
}"
}]
and in html page used ng-repeat 并在html页面中使用ng-repeat
<div ng-repeat="item in list">
{{item.date}} -- works fine
</div>
here how to display json value in object optvalue, done some code like. 在这里,如何在对象optvalue中显示json值,做了一些类似的代码。
<div ng-repeat="item in list">
{{item.optvalue.value}} -- but it is undefined
</div>
but it is not working can any one give hint for this 但任何人都无法为此提供提示
Just because your optvalue
is a String but not a object. 仅仅因为您的
optvalue
是一个String而不是一个对象。 It should be : 它应该是 :
optvalue = {
value:{
'name':test1,
'gender':female
}
}
In JSON, an object should NOT be in the parenthese. 在JSON,对象不应该在parenthese。
Try this working example, please check the object created. 试试这个工作示例,请检查创建的对象。
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.list= [ { cid:74, date:"2016-08-25T00:00:00.000+0530", optkey:"key", optvalue:{value:{'name':'test','gender':'male'}} }, { cid:75, date:"2016-08-25T00:00:00.000+0530", optkey:"key", optvalue:{value:{'name':'test','gender':'male'}} }, { cid:76, date:"2016-08-25T00:00:00.000+0530", optkey:"key", optvalue:{value:{'name':'test','gender':'male'}} } ] });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="myApp" ng-controller="myCtrl"> <div ng-repeat="item in list"> {{item.optvalue.value.name}} </div> </div>
The response
JSON is not valid : response
JSON无效:
Issue Capture : 问题捕获:
Valid JSON : 有效的JSON:
[
{
"cid": 74,
"date": "2016-08-25T00:00:00.000+0530",
"optkey": "key",
"optvalue": {
"value": {
"name": "test",
"gender": "male"
}
}
},
{
"cid": 75,
"date": "2016-08-25T00:00:00.000+0530",
"optkey": "key",
"optvalue": {
"value": {
"name": "test2",
"gender": "female"
}
}
},
{
"cid": 77,
"date": "2016-08-26T00:00:00.000+0530",
"optkey": "key",
"optvalue": {
"value": {
"name": "test1",
"gender": "female"
}
}
}
]
In your case {{item.optvalue.value}}
is giving undefined
because optvalue
is a string not an object.So, it should be an object
. 在您的情况下,
{{item.optvalue.value}}
给出了undefined
因为optvalue
是不是对象的字符串。因此,它应该是object
。
"optvalue": {
"value": {
"name": "test1",
"gender": "female"
}
}
thanks for your answers,i have resolved it using-- 感谢您的回答,我已使用-
angular.toJson and angular.fromJson
while send to server used 发送到服务器时使用
angular.toJson(stringOfJson)
and when got the response object the using 而当得到响应对象时使用
angular.fromJson(value)
and set to object field,it is working fine. 并设置为对象字段,它工作正常。
you need to change your code to this 您需要将代码更改为此
<div ng-repeat="item in list">
{{item.optvalue.value.name}}
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.