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格式。首先你要纠正它。检查网址你检查我的答案了吗?如果它对你有帮助,那么就标记它。