JSON 개체 문자열을 JavaScript 배열로 변환해야합니다.
이 내 JSON 개체 :
{"2013-01-21":1,"2013-01-22":7}
그리고 나는 갖고 싶다 :
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['2013-01-21', 1],
['2013-01-22', 7]
]);
어떻게하면 되나요?
답변
var json_data = {"2013-01-21":1,"2013-01-22":7};
var result = [];
for(var i in json_data)
result.push([i, json_data [i]]);
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows(result);
답변
올바른 형식의 JSON 문자열이 있으면 다음을 수행 할 수 있습니다.
var as = JSON.parse(jstring);
AJAX를 통해 배열을 전송할 때 항상이 작업을 수행합니다.
답변
다음이 있다고 가정합니다.
var j = {0: "1", 1: "2", 2: "3", 3: "4"};
다음과 같이 값을 얻을 수 있습니다 (실제로 모든 브라우저 버전에서 지원됨).
Object.keys(j).map(function(_) { return j[_]; })
또는 간단히 :
Object.values(j)
산출:
["1", "2", "3", "4"]
답변
function json2array(json){
var result = [];
var keys = Object.keys(json);
keys.forEach(function(key){
result.push(json[key]);
});
return result;
}
이 전체 설명을 참조하십시오 : http://book.mixu.net/node/ch5.html
답변
이렇게하면 문제가 해결됩니다.
const json_data = {"2013-01-21":1,"2013-01-22":7};
const arr = Object.keys(json_data).map((key) => [key, json_data[key]]);
console.log(arr);
또는 Object.entries () 메서드를 사용합니다.
console.log(Object.entries(json_data));
두 경우 모두 출력은 다음과 같습니다.
/* output:
[['2013-01-21', 1], ['2013-01-22', 7]]
*/
답변
다음과 같이 배열에 개체 항목을 삽입 할 수 있습니다.
let obj = {
'1st': {
name: 'stackoverflow'
},
'2nd': {
name: 'stackexchange'
}
};
let wholeArray = Object.keys(obj).map(key => obj[key]);
console.log(wholeArray);
답변
이렇게 간단합니다!
var json_data = {"2013-01-21":1,"2013-01-22":7};
var result = [json_data];
console.log(result);