【问题标题】:json value getting it as "[object Object]"json 值将其作为“[object Object]”
【发布时间】:2014-07-05 03:31:48
【问题描述】:

在 angularjs ng-route 中,因为我的参数是动态的,所以我将它作为 json 传递,如下所示

$scope.filmNames= {
            'films': {
                    'film': [{
                        filmName: 'ABCD',
                        filmYear: '123'
                    }, {
                        filmName: 'BCD',
                        filmYear: '145'
                    }, {
                        filmName: 'DEF',
                        filmYear: '128'
                    }]
                }
            };

'.../index.html#/admin?jsonObj='+$scope.filmNames

它成功发送了

http://localhost:8000/index.html#/admin?jsonObj=[object Object]

但是当我尝试使用 $routeParams 之类的方法通过控制器接收器时

var jsonObj= $routeParams.jsonObj;

console.log(JSON.stringify(jsonObj));

它被打印为"[object Object]",而不是值

谁能告诉我解决办法

【问题讨论】:

  • 这是一个对象,而不是 json。如果是json,它的字符串表示就不是[object Object]
  • 您是否将其作为 GET 发送?
  • 我怎样才能将它作为 json 接收
  • 打印让我猜 IE :D?
  • @DhavalMarthak 让我检查一下

标签: json angularjs ngroute


【解决方案1】:

当您使用连接将对象转换为字符串时,您会得到:[object Object]。您真正想要的是将对象转换为 json。

'.../index.html#/admin?jsonObj='+JSON.stringify($scope.filmNames)

然后,在接收方,您需要解析它,而不是对其进行字符串化。

console.log(JSON.parse(jsonObj));

我建议不要将 json 字符串称为“json objects”,这只会导致混乱。 json 字符串并不总是代表对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多