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. 그러면 일반 개체가됩니다.
개체를 개체로, 배열을 배열로 유지하는 것이 아마도 가장 좋은 방법이라는 데 동의했습니다. 그러나 배열로 취급하는 명명 된 속성이있는 Object가있는 경우 다음과 같이 수행 할 수 있습니다.
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
'IT TIP' 카테고리의 다른 글
| MySQL-삽입 오류 무시 : 중복 항목 (0) | 2020.10.23 |
|---|---|
| 분기 예측 자에게 분기를 따를 가능성이 얼마나됩니까? (0) | 2020.10.23 |
| Swift에서 JSON 문자열을 Object로 변환하는 간단하고 깨끗한 방법 (0) | 2020.10.23 |
| C #에서 여러 문자열 요소 바꾸기 (0) | 2020.10.23 |
| __eq__는 파이썬에서 어떻게 그리고 어떤 순서로 처리됩니까? (0) | 2020.10.23 |