将包含数据列表的对象转换为json数组

时间:2017-04-12 08:42:16

标签: javascript arrays json object

我的for循环看起来像这样,

var myObj = data.response.carTypes;
  for (var key in myObj) {
    if (myObj.hasOwnProperty(key)) {
      console.log(myObj[key]);
    }}
控制台上的

输出如下所示,

car1
car2
car3

我想转换这样的数据,

$scope.myArray = [{"cars":car1}, {"cars":car2}, {"cars":car3}]

如何在javascript中以这种方式转换?

5 个答案:

答案 0 :(得分:0)

您可以使用var json = JSON.stringify(jsObject)var jsObject = JSON.parse("json string")

答案 1 :(得分:0)

只需迭代对象并将其推入数组:

var myObj = data.response.carTypes;
var myArr = [];
for (var key in myObj) {
    if (myObj.hasOwnProperty(key)) {
      myArr.push(myObj[key]);
    }
}
console.log(myArr);

答案 2 :(得分:0)

您可以使用var myJsonArray = JSON.stringify(myArray)将数组转换为JSON。

如果您在旧版浏览器中进行此转换,则可以使用script

为了从您创建的JSON中获取数组,您可以使用:

var myArray = JSON.parse(myJsonArray)

另外,请记住,当您对JSON中的多个对象使用相同的密钥时,the last key with the same name is the one that is going to be used

答案 3 :(得分:0)

这里你必须使用javascript对象。 说

$scope.myArray = [];

var carlist.cars="";
var carlist={};

carlist是汽车是财产的对象 然后你可以尝试这种方式:

var myObj = data.response.carTypes;
for (var key in myObj) {
    if (myObj.hasOwnProperty(key)) {
      carlist.cars=myObj[key];
      myArray.push(carlist);
      console.log(myArray);
    }}

答案 4 :(得分:0)

您只需创建一个新数组并在每次迭代中将新对象推送到它:

$scope.myArray = [];
for (var key in myObj) {
  if (myObj.hasOwnProperty(key)) {
    $scope.myArray.push({cars:myObj[key]});
  }
};

<强>演示:

&#13;
&#13;
var myObj = {
  a: "Car1",
  b: "Car2",
  c: "Car3"
};
var carsArray = [];
for (var key in myObj) {
  if (myObj.hasOwnProperty(key)) {
    carsArray.push({cars:myObj[key]});
  }
};
console.log(carsArray);
&#13;
&#13;
&#13;