如何使用动态密钥格式化json?

时间:2018-02-27 02:43:01

标签: javascript json

  var data= [{_id: "5a93cbd49ae761a4015f6346", nombre: "Chicago - Missouri", longitud: "-94.6807924", latitud: "38.287606"},
{ _id: "5a93ca539ae761a4015f6344", nombre: "Boston - Central Falss", longitud: "-71.4111895", latitud: "41.8902971"},
{ _id: "5a93ccbf9ae761a4015f6349", nombre: "Houston - Dallas", longitud: "-97.0117365", latitud: "32.8209296"}]

var d=[];
for(var i in data){
    d.push({ data[i].nombre:data[i]["_id"] })
}

我想要一个带结构的json

{ "nombre":"_id" }

例如:

 { "Chicago - Missouri":"5a93cbd49ae761a4015f6346"}
 { "Boston - Central Falss- Missouri": "5a93ca539ae761a4015f6344" }4

我的错误是什么?

感谢

2 个答案:

答案 0 :(得分:5)

试试这个 -



var data= [{_id: "5a93cbd49ae761a4015f6346", nombre: "Chicago - Missouri", longitud: "-94.6807924", latitud: "38.287606"},
{ _id: "5a93ca539ae761a4015f6344", nombre: "Boston - Central Falss", longitud: "-71.4111895", latitud: "41.8902971"},
{ _id: "5a93ccbf9ae761a4015f6349", nombre: "Houston - Dallas", longitud: "-97.0117365", latitud: "32.8209296"}]

var d =[];
for(var i in data){
	var pushObj = {};
    pushObj[data[i].nombre] = data[i]["_id"];
    d.push(pushObj)
}
console.log(d);




答案 1 :(得分:2)

首先创建一个对象,添加数据并将其推送到d

var data= [{
  _id: "5a93cbd49ae761a4015f6346",
  nombre: "Chicago - Missouri", 
  longitud: "-94.6807924", 
  latitud: "38.287606"
},{ 
  _id: "5a93ca539ae761a4015f6344", 
  nombre: "Boston - Central Falss", 
  longitud: "-71.4111895", 
  latitud: "41.8902971"
},{ 
  _id: "5a93ccbf9ae761a4015f6349", 
  nombre: "Houston - Dallas", 
  longitud: "-97.0117365", 
  latitud: "32.8209296"
}]

var d=[];
for(var i in data){
    var temp = {};
    temp[ data[i].nombre ] = data[i]["_id"];
    d.push(temp)
}

console.log(d);