JSON에 대한 JavaScript 관련 배열
JavaScript 관련 배열을 JSON으로 변환하려면 어떻게 해야 합니까?
다음을 시도했습니다.
var AssocArray = new Array();
AssocArray["a"] = "The letter A"
console.log("a = " + AssocArray["a"]);
// result: "a = The letter A"
JSON.stringify(AssocArray);
// result: "[]"
배열에는 숫자 키가 있는 항목만 있어야 합니다(어레이도 개체이지만 이러한 키를 혼재시키면 안 됩니다).
배열을 JSON으로 변환하면 프로세스에서는 숫자 속성만 고려됩니다.다른 속성은 무시되기 때문에 빈 어레이가 생성됩니다.어쩌면 이게 더 명백할 수도 있어length
어레이의 경우:
> AssocArray.length
0
JS에서는 '어소시에이션 어레이'라고 불리는 것은 실제로는 객체일 뿐입니다.
var AssocArray = {}; // <- initialize an object, not an array
AssocArray["a"] = "The letter A"
console.log("a = " + AssocArray["a"]); // "a = The letter A"
JSON.stringify(AssocArray); // "{"a":"The letter A"}"
객체의 속성은 배열 표기법 또는 도트 표기법(키가 예약된 키워드가 아닌 경우)을 사용하여 액세스할 수 있습니다.따라서AssocArray.a
와 같다AssocArray['a']
.
JavaScript에는 연관 배열이 없습니다.단, 명명된 속성을 가진 개체가 있으므로 "어레이"를 초기화하지 마십시오.new Array
그러면 범용 객체가 됩니다.
오브젝트는 오브젝트, 어레이는 어레이로 유지하는 것이 베스트 프랙티스라는 것에 동의.그러나 배열로 취급하는 명명된 속성을 가진 개체가 있는 경우 다음과 같은 작업을 수행할 수 있습니다.
let tempArr = [];
Object.keys(objectArr).forEach( (element) => {
tempArr.push(objectArr[element]);
});
let json = JSON.stringify(tempArr);
여기에 수정 사항을 게시했습니다.
이 기능을 사용하여 다음을 수정할 수 있습니다.JSON.stringify
부호화하다arrays
스크립트의 선두 부근에 투고해 주세요(자세한 내용은 위의 링크를 참조해 주세요).
// Upgrade for JSON.stringify, updated to allow arrays
(function(){
// Convert array to object
var convArrToObj = function(array){
var thisEleObj = new Object();
if(typeof array == "object"){
for(var i in array){
var thisEle = convArrToObj(array[i]);
thisEleObj[i] = thisEle;
}
}else {
thisEleObj = array;
}
return thisEleObj;
};
var oldJSONStringify = JSON.stringify;
JSON.stringify = function(input){
if(oldJSONStringify(input) == '[]')
return oldJSONStringify(convArrToObj(input));
else
return oldJSONStringify(input);
};
})();
개체를 어레이에 푸시할 수 있습니다.
enter code here
var AssocArray = new Array();
AssocArray.push( "The letter A");
console.log("a = " + AssocArray[0]);
// result: "a = The letter A"
console.log( AssocArray[0]);
JSON.stringify(AssocArray);
언급URL : https://stackoverflow.com/questions/4425289/javascript-associative-array-to-json
'programing' 카테고리의 다른 글
Wordpress admin menu messed (0) | 2023.04.04 |
---|---|
TypeScript에서는 다양한 열거형이 어떻게 동작합니까? (0) | 2023.04.04 |
오라올레디비로컬 시스템에 Oracle 제공자가 등록되어 있지 않습니다. (0) | 2023.04.04 |
Javascript 개체를 정렬하거나 배열로 변환하려면 어떻게 해야 합니까? (0) | 2023.04.04 |
Oracle에서 with 절을 사용하여 테이블 생성 (0) | 2023.04.04 |