Sun*_*ary 0 javascript arrays jquery json object
我有一个jQuery ajax请求,它以json格式返回数据,我们如何将其转换并推入数组。TIA。
[{"Day":"Nov 03","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":null},
{"Day":"Nov 06","Saavor Kitchen":null,"Home Kitchen":1,"Restaurant":1},
{"Day":"Nov 07","Saavor Kitchen":null,"Home Kitchen":null,"Restaurant":1},
{"Day":"Nov 08","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":null},
{"Day":"Nov 09","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":null},
{"Day":"Nov 10","Saavor Kitchen":null,"Home Kitchen":3,"Restaurant":null},
{"Day":"Nov 11","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":null},
{"Day":"Nov 13","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":1},
{"Day":"Nov 14","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":1},
{"Day":"Nov 15","Saavor Kitchen":null,"Home Kitchen":5,"Restaurant":null},
{"Day":"Nov 16","Saavor Kitchen":null,"Home Kitchen":5,"Restaurant":null},
{"Day":"Oct 30","Saavor Kitchen":null,"Home Kitchen":null,"Restaurant":2},
{"Day":"Oct 31","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":3}]
Run Code Online (Sandbox Code Playgroud)
所需输出:-
[
['Day', 'Saavor Kitchen', 'Home Kitchen', 'Restaurant '],
['Nov 03', 1000, 400, 50],
['Nov 04', 1170, 460, 90],
['Nov 05', 660, 1120, 58],
['Nov 06', 1030, 540, 88]
]
Run Code Online (Sandbox Code Playgroud)
一个简单的组合Object.values()与Array.map()将在这里做的伎俩:
var res = arr.map(function(item) {
return Object.values(item);
});
Run Code Online (Sandbox Code Playgroud)
演示:
var res = arr.map(function(item) {
return Object.values(item);
});
Run Code Online (Sandbox Code Playgroud)
您可以按以下方式进行操作(使用.map和.unshift):-
var json = '[{"Day":"Nov 03","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":null},{"Day":"Nov 06","Saavor Kitchen":null,"Home Kitchen":1,"Restaurant":1},{"Day":"Nov 07","Saavor Kitchen":null,"Home Kitchen":null,"Restaurant":1},{"Day":"Nov 08","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":null},{"Day":"Nov 09","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":null},{"Day":"Nov 10","Saavor Kitchen":null,"Home Kitchen":3,"Restaurant":null},{"Day":"Nov 11","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":null},{"Day":"Nov 13","Saavor Kitchen":null,"Home Kitchen":4,"Restaurant":1},{"Day":"Nov 14","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":1},{"Day":"Nov 15","Saavor Kitchen":null,"Home Kitchen":5,"Restaurant":null},{"Day":"Nov 16","Saavor Kitchen":null,"Home Kitchen":5,"Restaurant":null},{"Day":"Oct 30","Saavor Kitchen":null,"Home Kitchen":null,"Restaurant":2},{"Day":"Oct 31","Saavor Kitchen":null,"Home Kitchen":2,"Restaurant":3}]';
var columns = ['Day', 'Saavor Kitchen', 'Home Kitchen', 'Restaurant'];
var result = JSON.parse(json).map(function(obj) {
return columns.map(function(key) {
return obj[key];
});
});
result.unshift(columns);
console.log(result);
console.log(Object.keys($.parseJSON(json)[0]));Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Run Code Online (Sandbox Code Playgroud)
动态获取密钥:
console.log(Object.keys($.parseJSON(json)[0]));
Run Code Online (Sandbox Code Playgroud)
由于您已经dataType:'json'在ajax代码中使用过,所以:
console.log(Object.keys(json[0]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3259 次 |
| 最近记录: |