【问题标题】:How to convert string to object in Angularjs [duplicate]如何在Angularjs中将字符串转换为对象[重复]
【发布时间】:2016-11-05 22:31:25
【问题描述】:

我有一个类似的字符串:

$scope.text = '"{\"firstName\":\"John\",\"age\":454 }"';

我想转成js对象:

 $scope.tmp =  {"firstName":"John","age":454 };

注意:JSON.parse() 不起作用!!

这是我在codepen中的示例

【问题讨论】:

  • JSON.parse() 是我认为您正在寻找的东西。 - 另外,这是重复的。
  • 这不是完全重复的。 OP 在其框架内(角度)要求最佳答案。我知道 JSON.Parse() 有效,但由于某些原因,还有其他事情可以用 angular 来完成。
  • @evolutionxbox,JSON.parse() 不起作用
  • 这是由于额外的引号引起的。把外面的单引号去掉,然后JSON.parse就可以了。

标签: javascript angularjs json object converter


【解决方案1】:

你可以用angular.fromJson()做到这一点

在您的示例中,应该是 $scope.tmp = angular.fromJson($scope.text);

JSON.Parse()angular.fromJson 之间的区别在于 Angular 会检查以确保提供了字符串。如果它已经是一个对象,它将返回相同的对象。

【讨论】:

  • 请在我的 [codepen.io/essvision/pen/PzjGpQ] 中查看您的答案
  • 您必须删除字符串周围的简单引号才能使其正常工作:$scope.text = "{\"firstName\":\"John\",\"age\":454 }";
  • 像魔术一样工作!
猜你喜欢
  • 1970-01-01
  • 2011-01-28
  • 2017-05-05
  • 2020-02-07
  • 1970-01-01
  • 2020-01-25
  • 2020-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多