对象我有一个角度对象,看起来像这样(的菜单项包含更多的数据,但是那不是点):AngularJS从JSON字符串
$scope.data = {
title:'Title',
place:'Somewhere'
menuItems: [{
title: "This is a Title",
name: "John"},
{
title: "Another Title",
name: "Frank"} ]
};
我创建这个$ scope.data默认值。他们总是一样的。这些数据用于使用ng-model填充html页面。以及ng-repeat调用来显示所有menuItem。
<input class="text form-control" ng-model="data.title"></div>
<div ng-repeat="item in data.menuItems">
<input class="text form-control" ng-model="item.name"></div>
...
</div>
然后我成功导出的数据对象的JSON字符串,像这样:
$scope.json = angular.toJson($scope.data, false);
其产生类似于这样一个JSON字符串:
{"menuItems":[{"title":"This is a title","name":"John"},{"title":"Another Title","name":"Frank"}],"title":"Title", "place":"Somewhere"}
我想要做什么现在是加载这个JSON字符串并覆盖$ scope.data对象(以提供修改现有JSON字符串的方法)。
我加载字符串像这样:
var json = JSON.stringify("{"menuItems":[{"title":"This is a title","name":"John"},{"title":"Another Title","name":"Frank"}],"title":"Title", "place":"Somewhere"}");
$scope.data = JSON.parse(json);
但没有数据被更新,中创建的所有的div NG-重复消失。
我无法更改JSON的结构,因为它在另一个应用程序中以这种方式使用。有没有办法实现我想要的?
谢谢。
你检查了控制台,看看是否有任何错误? –
是的。没有错误。字符串化的json字符串似乎也是正确的 – Androidicus
'“{”menuItems“:[{”title“:”这是一个标题“,”name“:”John“},{”title“:”Another Title“, “name”:“Frank”}],“title”:“Title”,“place”:“Somewhere”}“)'你确定这是有效的JSON吗?它看起来像内部引号不会逃脱/外部引号与内部引号没有区别。 – DrinkBird