2016-09-23 49 views
0

我有服务器的数据,我想将它添加到JSON属性,但它不显示,我明白JSON,除了只有原始类型,但我怎样才能动态地添加数据到JSON属性?在下面的代码中的敌人示例我试图将图表名称分配给“文本”。如何将变量分配给json属性?

ctrl.js

var diagramName = ""; 
$scope.data = resp.data; 
angular.forEach($scope.data, function(diagram) { 
    diagramName = JSON.stringify(diagram.name); 
    console.log(diagram.name); 
}); 

    [{ 
       "id": 1, 
       "text": "My Folder", 
       "children": [{ 
        "id": 10, 
        "owner": "John Smith", 
        "text": diagramName, 
        "string": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>}] 
       }] 
+2

简单:你不知道。 JSON是一种传输格式。你不要直接混淆它。你将它解码为一个本地数据结构,修改它,然后重新编码。 –

+0

'JSON.stringify'创建一个JSON字符串。如果要向其中添加数据,请在对其进行字符串化之前修改该对象。 –

+0

stringify之前修改对象?我没有得到它,你可以请详细说明。 – hussain

回答

0

动态值添加到属性,字符串化之前:

angular.forEach($scope.data, function(diagram) { 
    diagram.text = diagramName 
    diagramName = JSON.stringify(diagram.name); 
}); 
+0

谢谢,但它仍然没有填充。 – hussain

+0

在你的函数的上下文中,图表是被迭代的项目。作为数组中的第一项访问它。图[0] – brianyang