Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angularjs中更改json数据_Javascript_Json_Angularjs_Ionic Framework_Ionic - Fatal编程技术网

Javascript 如何在Angularjs中更改json数据

Javascript 如何在Angularjs中更改json数据,javascript,json,angularjs,ionic-framework,ionic,Javascript,Json,Angularjs,Ionic Framework,Ionic,我在一个控制器中构建了一个变量,其中包含以下数据作为JSON。我可以使用factory/service在其他控制器中访问此json数据。现在我想修改这个json数据,就像修改输出json数据一样 输入Json [ { "text":"Identity", "checked":true, "timestamp":1435862483093 }, { "text":"Calendar", "checked":t

我在一个控制器中构建了一个变量,其中包含以下数据作为JSON。我可以使用factory/service在其他控制器中访问此json数据。现在我想修改这个json数据,就像修改输出json数据一样

输入Json

[  
   {  
      "text":"Identity",
      "checked":true,
      "timestamp":1435862483093
   },
   {  
      "text":"Calendar",
      "checked":true,
      "timestamp":1435862483443
   },
]
输出:

{  
   "myname":{  
      "Facebook":{  
         "trackdata":[  
            {  
               "text":"Identity",
               "checked":true,
               "timestamp":1435862483093
            },
            {  
               "text":"Calendar",
               "checked":true,
               "timestamp":1435862483443
            }
         ],
         "selecteddata":[  
            {  
               "text":"Identity",
               "checked":true,
               "timestamp":1435862483093
            },
            {  
               "text":"Calendar",
               "checked":true,
               "timestamp":1435862483443
            }
         ]
      }
   }
}
我在尝试什么:

        var trackdata = JSON.stringify(DataService.getTrackedData());
        var selecteddata = JSON.stringify(DataService.getSelectedData());

        var userJson = {};
        userJson["trackdata"] = trackdata;
        userJson["selecteddata"] = selecteddata;
        userJson["Facebook"] = ???
        userJson["myname"] = ???
最后几行我能写些什么。我之所以这样说,是因为将来“myname”和“Facebook”将根据用户输入

更新:2

 pmApp.controller('FooterController', function ($scope, $state, DataService) {

    $scope.infunc = function () {
        console.log("Username : " + DataService.username);
        console.log("Application Name : " + DataService.applicationName);

        var username = DataService.username;
        var applicationName = DataService.username;

        $scope.outputJson = {
            username: {
                applicationName: {
                    "trackdata": DataService.getTrackedData(),
                    "selecteddata": DataService.getSelectedData()
                }
            }
        }

        /* $scope.outputJson.myname.Facebook.trackdata = ;
         $scope.outputJson.myname.Facebook.selecteddata = DataService.getSelectedData();*/

        console.log(JSON.stringify($scope.outputJson));

    };

});
它给我这样的输出:

 "username":{  
      "applicationName":{  
         "trackdata":[  
它应该打印这些变量的实际值,而不是用户名和应用程序名。你能告诉我我做错了什么吗

提前谢谢


任何帮助都将不胜感激。

以下是我的示例代码:

$scope.inputJson = [  
  {  
    "text":"Identity",
    "checked":true,
    "timestamp":1435862483093
  },
  {  
    "text":"Calendar",
    "checked":true,
    "timestamp":1435862483443
  }
]

$scope.outputJson = {
  "myname": {
    "Facebook":{  
      "trackdata": [],
      "selecteddata": []
    }
  }
}

$scope.outputJson.myname.Facebook.trackdata = $scope.inputJson;
$scope.outputJson.myname.Facebook.selecteddata = $scope.inputJson;

下面是我的示例代码:

$scope.inputJson = [  
  {  
    "text":"Identity",
    "checked":true,
    "timestamp":1435862483093
  },
  {  
    "text":"Calendar",
    "checked":true,
    "timestamp":1435862483443
  }
]

$scope.outputJson = {
  "myname": {
    "Facebook":{  
      "trackdata": [],
      "selecteddata": []
    }
  }
}

$scope.outputJson.myname.Facebook.trackdata = $scope.inputJson;
$scope.outputJson.myname.Facebook.selecteddata = $scope.inputJson;

下面是我的示例代码:

$scope.inputJson = [  
  {  
    "text":"Identity",
    "checked":true,
    "timestamp":1435862483093
  },
  {  
    "text":"Calendar",
    "checked":true,
    "timestamp":1435862483443
  }
]

$scope.outputJson = {
  "myname": {
    "Facebook":{  
      "trackdata": [],
      "selecteddata": []
    }
  }
}

$scope.outputJson.myname.Facebook.trackdata = $scope.inputJson;
$scope.outputJson.myname.Facebook.selecteddata = $scope.inputJson;

下面是我的示例代码:

$scope.inputJson = [  
  {  
    "text":"Identity",
    "checked":true,
    "timestamp":1435862483093
  },
  {  
    "text":"Calendar",
    "checked":true,
    "timestamp":1435862483443
  }
]

$scope.outputJson = {
  "myname": {
    "Facebook":{  
      "trackdata": [],
      "selecteddata": []
    }
  }
}

$scope.outputJson.myname.Facebook.trackdata = $scope.inputJson;
$scope.outputJson.myname.Facebook.selecteddata = $scope.inputJson;

好的,我想到了一个简单的方法:

// parse input in order to modify it
var inputObj = JSON.parse(input);

// create a new object based on your data from your input
var outputObj = {
    'myname': {
        'Facebook': {
            'trackdata': inputObj,
            'selecteddata': inputObj
        }
    }
};

// create new JSON output
var output = JSON.stringify(outputObj);
var input='[{“text”:“Identity”,“checked”:true,“timestamp”:1435862483093},{“text”:“Calendar”,“checked”:true,“timestamp”:1435862483443}';
var inputObj=JSON.parse(输入);
var outputObj={
“我的名字”:{
“Facebook”:{
“trackdata”:inputObj,
“selecteddata”:inputObj
}
}
};
var output=JSON.stringify(outputObj);
$('#input').html(JSON.stringify(inputObj,null,2));
$('#output').html(JSON.stringify(outputObj,null,2))

输入:

输出:
好的,我想到了一些简单的方法:

// parse input in order to modify it
var inputObj = JSON.parse(input);

// create a new object based on your data from your input
var outputObj = {
    'myname': {
        'Facebook': {
            'trackdata': inputObj,
            'selecteddata': inputObj
        }
    }
};

// create new JSON output
var output = JSON.stringify(outputObj);
var input='[{“text”:“Identity”,“checked”:true,“timestamp”:1435862483093},{“text”:“Calendar”,“checked”:true,“timestamp”:1435862483443}';
var inputObj=JSON.parse(输入);
var outputObj={
“我的名字”:{
“Facebook”:{
“trackdata”:inputObj,
“selecteddata”:inputObj
}
}
};
var output=JSON.stringify(outputObj);
$('#input').html(JSON.stringify(inputObj,null,2));
$('#output').html(JSON.stringify(outputObj,null,2))

输入:

输出:
好的,我想到了一些简单的方法:

// parse input in order to modify it
var inputObj = JSON.parse(input);

// create a new object based on your data from your input
var outputObj = {
    'myname': {
        'Facebook': {
            'trackdata': inputObj,
            'selecteddata': inputObj
        }
    }
};

// create new JSON output
var output = JSON.stringify(outputObj);
var input='[{“text”:“Identity”,“checked”:true,“timestamp”:1435862483093},{“text”:“Calendar”,“checked”:true,“timestamp”:1435862483443}';
var inputObj=JSON.parse(输入);
var outputObj={
“我的名字”:{
“Facebook”:{
“trackdata”:inputObj,
“selecteddata”:inputObj
}
}
};
var output=JSON.stringify(outputObj);
$('#input').html(JSON.stringify(inputObj,null,2));
$('#output').html(JSON.stringify(outputObj,null,2))

输入:

输出:
好的,我想到了一些简单的方法:

// parse input in order to modify it
var inputObj = JSON.parse(input);

// create a new object based on your data from your input
var outputObj = {
    'myname': {
        'Facebook': {
            'trackdata': inputObj,
            'selecteddata': inputObj
        }
    }
};

// create new JSON output
var output = JSON.stringify(outputObj);
var input='[{“text”:“Identity”,“checked”:true,“timestamp”:1435862483093},{“text”:“Calendar”,“checked”:true,“timestamp”:1435862483443}';
var inputObj=JSON.parse(输入);
var outputObj={
“我的名字”:{
“Facebook”:{
“trackdata”:inputObj,
“selecteddata”:inputObj
}
}
};
var output=JSON.stringify(outputObj);
$('#input').html(JSON.stringify(inputObj,null,2));
$('#output').html(JSON.stringify(outputObj,null,2))

输入:


输出:
使用
JSON.parse()
创建javascript对象。然后修改对象,并使用
JSON.stringify()
将其重新转换为字符串。@johncarcenter JSON.stringify()将转换为字符串查看我的答案了解我的意思:)你能用代码检查我更新的问题吗,我该如何做?我不清楚你的后续问题是什么。你能具体说明我的答案有哪些地方让人困惑吗?使用
JSON.parse()
创建一个javascript对象。然后修改对象,并使用
JSON.stringify()
将其重新转换为字符串。@johncarcenter JSON.stringify()将转换为字符串查看我的答案了解我的意思:)你能用代码检查我更新的问题吗,我该如何做?我不清楚你的后续问题是什么。你能具体说明我的答案有哪些地方让人困惑吗?使用
JSON.parse()
创建一个javascript对象。然后修改对象,并使用
JSON.stringify()
将其重新转换为字符串。@johncarcenter JSON.stringify()将转换为字符串查看我的答案了解我的意思:)你能用代码检查我更新的问题吗,我该如何做?我不清楚你的后续问题是什么。你能具体说明我的答案有哪些地方让人困惑吗?使用
JSON.parse()
创建一个javascript对象。然后修改对象,并使用
JSON.stringify()
将其重新转换为字符串。@johncarcenter JSON.stringify()将转换为字符串查看我的答案了解我的意思:)你能用代码检查我更新的问题吗,我该如何做?我不清楚你的后续问题是什么。你能具体说明我的答案有哪些地方让人困惑吗?如果你运行代码段,你应该会看到上面的代码是有效的:)。对于您的特定示例,请将我的代码中的
inputObj
替换为
DataService.getTrackedData()
谢谢您的回复。我应该替换变量名而不是“myname”和“Facebook”吗?事实上,我的情况每次都不一样。我想从变量中输入这些名称。我已经编辑了我的答案以解决您的问题。还要注意,这是一个编写javascript代码的好地方:)。在那里,您可以测试小代码块,直到您满意为止,然后再将它们添加到较大的代码块中。再次感谢您的回复。检查我更新的问题(更新-2部分),它不工作,因为我想让它工作。我是按照你的模式来设计的。请检查更新的代码。更新中的语法与我在答案中的语法不同。您可以像这样索引对象<代码>对象[fieldName]=“某些v