[英]Converting object containing list of data to json array
我的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中以这种方式进行转换?
您可以使用var json = JSON.stringify(jsObject)
和var jsObject = JSON.parse("json string")
只需遍历对象并将其推入数组即可:
var myObj = data.response.carTypes;
var myArr = [];
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
myArr.push(myObj[key]);
}
}
console.log(myArr);
您可以使用var myJsonArray = JSON.stringify(myArray)
将数组转换为JSON。
如果您是在较旧的浏览器中执行此转换的,则可以使用脚本 。
为了从创建的JSON获取数组,可以使用:
var myArray = JSON.parse(myJsonArray)
另外,请记住,当您对JSON中的多个对象使用相同的键时, 具有相同名称的最后一个键就是将要使用的键 。
在这里,您必须使用javascript对象。 说
$scope.myArray = [];
var carlist.cars="";
var carlist={};
carlist是一个对象,cars是一个属性,那么您可以尝试以下方式:
var myObj = data.response.carTypes;
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
carlist.cars=myObj[key];
myArray.push(carlist);
console.log(myArray);
}}
您只需要创建一个新数组,并在每次迭代中向其推送一个新对象:
$scope.myArray = [];
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
$scope.myArray.push({cars:myObj[key]});
}
};
演示:
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.