使用Angular映射JSON数据模型

时间:2015-11-27 23:24:18

标签: javascript angularjs json

我假设我的JSON数据存在问题,但我似乎无法调试。

我从服务中获取的数据片段如下:

   {
     "result" :{
       "version" : "0.1",
     },
     "recordData":{
       "carId": {
       "config": "auto",
       "val": "none"
     },
     "carName": {
       "config": "manual",
       "val": "bmw"
     }
   }

My Angular代码如下:

var modifyModel = function(data){
  return {
    carId: data.carId.val,
    carName: data.carName.val
  };
};

if (data.recordData){
  modeldata.results = data.recordData.map(modifyModel);
}
return modeldata;

我有相同的代码处理另一个JSON请求,但数据作为一个数组出现,我从上面得到的错误是:

TypeError: data.recordData.map is not a function

所以我想我需要以某种方式清理收到的数据?

1 个答案:

答案 0 :(得分:1)

使用map函数它只适用于数组。 例如:

var array = [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}];
var reformattedArray = array.map(function(obj){ 
   var rObj = {};
   rObj[obj.key] = obj.value;
   return rObj;
});
// reformattedArray is now [{1:10}, {2:20}, {3:30}], 
// array is still [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}]

请参阅文档。 Array.prototype.map()