Angularjs ng repeat中的Json对象
响应对象类Angularjs ng repeat中的Json对象,angularjs,json,Angularjs,Json,响应对象类 $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", optv
$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
}
}"
}]
并在html页面中使用ng重复
<div ng-repeat="item in list">
{{item.date}} -- works fine
</div>
{{item.date}--工作正常
在这里如何在对象optvalue中显示json值,做了一些类似的代码
<div ng-repeat="item in list">
{{item.optvalue.value}} -- but it is undefined
</div>
{{item.optvalue.value}}——但它是未定义的
但是它不起作用,因为您的
optvalue
是一个字符串而不是一个对象,所以任何人都不能对此给出提示。应该是:
optvalue = {
value:{
'name':test1,
'gender':female
}
}
在JSON中,对象应该而不是在括号中。试试这个工作示例,请检查创建的对象
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.list=
[
{
cid:74,日期:“2016-08-25T00:00:00.000+0530”,optkey:“key”,optvalue:{value:{'name':'test','gender':'male'}
},
{
cid:75,日期:“2016-08-25T00:00:00.000+0530”,optkey:“key”,optvalue:{value:{'name':'test','gender':'male'}
},
{
cid:76,日期:“2016-08-25T00:00:00.000+0530”,optkey:“key”,optvalue:{value:{'name':'test','gender':'male'}
}
]
});代码>
{{item.optvalue.value.name}
您需要将代码更改为此
<div ng-repeat="item in list">
{{item.optvalue.value.name}}
</div>
{{item.optvalue.value.name}
响应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"
}
}
}
]
字符串应该用双引号括起来
应为冒号,而不是=在键值对中
找到无效字符
无效号码
问题捕获:
[
{
"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"
}
}
}
]
有效的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"
}
}
}
]
在您的例子中,{{item.optvalue.value}
给出的是未定义的
,因为optvalue
是字符串而不是对象。因此,它应该是对象
"optvalue": {
"value": {
"name": "test1",
"gender": "female"
}
}
谢谢你的回答,我已经用--
在使用发送到服务器时
angular.toJson(stringOfJson)
当得到响应对象时,使用
angular.fromJson(value)
设置为object字段,工作正常。json格式从数据库中获取,在数据库中列类型为string,因此optvalue获取为string@Basavaraj,因此您应该在后端执行一些optvalue
转换,或者在前端的角度控制器中执行相同的操作,在将其发送到模板之前。正如Basavaraj所说,item.optvalue.value
是未定义的。响应不是json格式。首先你要纠正它。检查网址你检查我的答案了吗?如果它对你有帮助,那么就标记它。