如何控制JSON.Stringify结果

时间:2014-08-01 06:52:26

标签: javascript jquery html

<script>
    $.getJSON('url/rest/1', function (data) {           
        var mydata = JSON.stringify(data);  
    });
</script>

这是我的代码。对于console.log(mydata),我的输出是:

{  
   "data":[  
      {  
         "orderid":"9",
         "ordercode":"TTG-13-06-3"
      },
      {  
         "orderid":"12",
         "ordercode":"TTG-13-06-4"
      },
      {  
         "orderid":"15",
         "ordercode":"TTG-13-06-5"
      },
      {  
         "orderid":"20",
         "ordercode":"TTG-13-06-6"
      },
      {  
         "orderid":"24",
         "ordercode":"TTG-13-06-7"
      },
      {  
         "orderid":"26",
         "ordercode":"TTG-13-06-8"
      },
      {  
         "orderid":"31",
         "ordercode":"TTG-13-06-9"
      },
      {  
         "orderid":"36",
         "ordercode":"TTG-13-06-10"
      },
      {  
         "orderid":"41",
         "ordercode":"TTG-13-06-11"
      },
      {  
         "orderid":"44",
         "ordercode":"TTG-13-06-12"
      }
   ],
   "status":"success"
}

我需要在控制台中单独获取订单代码。我该如何实现呢?

7 个答案:

答案 0 :(得分:4)

使用$.map转换集合中的每个对象:

var orderCodes = $.map(data.data, function(entry){
  return entry.ordercode;
});

并获取所有订单代码的数组。

请参阅:http://api.jquery.com/jquery.map/

如果你正在使用任何类型的函数式编程库(即underscore),这个操作通常被抽象为一个名为pluck的方法:http://underscorejs.org/#pluck

答案 1 :(得分:0)

使用jQuery的each

$.each(data.data,function(index,value){
       console.log(value.overcode)
})

答案 2 :(得分:0)

返回数据是对象数组,因此我们需要遍历它以检索ordercode属性。

var mydata = JSON.stringify(data); 

// Check if mydata object has "data" property before looping
if(mydata.hasOwnProperty(data)) {
  for(var i = 0; i < mydata.data.length; i++) {
    console.log(mydata.data[i].ordercode);
  }
}

答案 3 :(得分:0)

$.each(myData.data, function (i, obj) {
    console.log(obj.ordercode);
});

答案 4 :(得分:0)

第一个选项 -

var parsedMyData = JSON.parse(mydata);    
var objectForConsole = $.extend({}, $.map(parsedMyData, function(val) {return  val.ordercode;     }));
console.log(objectForConsole); 

这将打印:Object {0: "TTG-13-06-3", 1: "TTG-13-06-4"....}

答案 5 :(得分:0)

Second using foreach-  
var parsedMyData = JSON.parse(mydata);   
var arr = [];         
for(i in parsedMyData)    {    
     arr.push(parsedMyData[i].ordercode);
    }
console.log(arr);
o/p- ["TTG-13-06-3", "TTG-13-06-4", "TTG-13-06-5".....]

答案 6 :(得分:0)

最佳和最短的选择 -

var data=JSON.stringify(mydata);
$.map(data, function(value){
    console.log(value.ordercode);
});