JavaScript를 사용하여 JSON 속성에 새 속성 (요소) 추가
JavaScript를 사용하여 JSON 객체에 새 속성 (요소)을 어떻게 추가합니까?
JSON은 JavaScript Object Notation의 약어입니다. JSON 객체는 실제로 나타내는 객체로 바뀌지 않은 문자열입니다.
JS의 기존 객체에 속성을 추가하려면 다음을 수행하십시오.
object["property"] = value;
또는
object.property = value;
상황에 따라 정확히 수행해야하는 것과 같은 추가 정보를 제공하면보다 맞춤화 된 답변을 얻을 수 있습니다.
var jsonObj = {
members:
{
host: "hostName",
viewers:
{
user1: "value1",
user2: "value2",
user3: "value3"
}
}
}
var i;
for(i=4; i<=8; i++){
var newUser = "user" + i;
var newValue = "value" + i;
jsonObj.members.viewers[newUser] = newValue ;
}
console.log(jsonObj);
JSON 객체는 단순히 자바 스크립트 객체이므로 Javascript는 프로토 타입 기반 언어이므로 도트 표기법을 사용하여 처리하면됩니다.
mything.NewField = 'foo';
이 게시물에 감사드립니다. 유용한 무언가를 추가하고 싶습니다.
IE의 경우 사용하는 것이 좋습니다
object["property"] = value;
IE의 일부 특수 단어로 인해 오류가 발생할 수 있기 때문에 구문.
예를 들면 :
object.class = 'value';
" class "가 특별한 단어 이기 때문에 이것은 IE에서 실패합니다 . 나는 이것과 몇 시간을 보냈다.
ECMAScript 2015에서는 스프레드 구문 (… 3 개 점)을 사용할 수 있습니다.
let people = {id: 4 ,firstName: 'John'};
people = {...people, secondName:'Forget'};
하위 객체를 추가 할 수 있습니다.
people = {...people, city:{estate: 'Alabama'}};
결과는 다음과 같습니다.
{
"id":4,
"firstName":"John",
"secondName":"Forget",
"city":{
"estate":"Alabama"
}
}
객체를 병합 할 수도 있습니다.
var mergedObj = { ...obj1, ...obj2 };
당신은 또한 사용할 수 있습니다 Object.assign
에서 ECMAScript 2015
. 또한 중첩 속성을 한 번에 추가 할 수도 있습니다. 예 :
const myObject = {};
Object.assign(myObject, {
firstNewAttribute: {
nestedAttribute: 'woohoo!'
}
});
추신 : 이것은 할당 된 속성으로 기존 객체를 무시하지 않습니다. 대신 추가됩니다. 그러나 기존 속성에 값을 할당하면 값이 무시됩니다.
extend: function(){
if(arguments.length === 0){ return; }
var x = arguments.length === 1 ? this : arguments[0];
var y;
for(var i = 1, len = arguments.length; i < len; i++) {
y = arguments[i];
for(var key in y){
if(!(y[key] instanceof Function)){
x[key] = y[key];
}
}
};
return x;
}
여러 json 객체를 확장합니다 (함수 무시).
extend({obj: 'hej'}, {obj2: 'helo'}, {obj3: {objinside: 'yes'}});
단일 json 객체가 생성됩니다
extend 함수를 사용하여 json에 새 json 객체를 추가 할 수도 있습니다 .
var newJson = $.extend({}, {my:"json"}, {other:"json"});
// result -> {my: "json", other: "json"}
확장 기능에 매우 유용한 옵션은 재귀 병합입니다. 첫 번째 매개 변수로 실제 값을 추가하기 만하면됩니다 (추가 옵션은 설명서를 참조하십시오). 예,
var newJson = $.extend(true, {}, {
my:"json",
nestedJson: {a1:1, a2:2}
}, {
other:"json",
nestedJson: {b1:1, b2:2}
});
// result -> {my: "json", other: "json", nestedJson: {a1:1, a2:2, b1:1, b2:2}}
용도 $.extend()
의 JQuery와 같은 :
token = {_token:window.Laravel.csrfToken};
data = {v1:'asdass',v2:'sdfsdf'}
dat = $.extend(token,data);
나는 당신이 그들을 제공 바랍니다.
for(var i=0;i<JsonObject.length;i++){
alert("inside forloop");
var dataArray = JsonObject[i];
alert(dataArray["data"]);
}
참고 URL : https://stackoverflow.com/questions/736590/add-new-attribute-element-to-json-object-using-javascript
'Programming' 카테고리의 다른 글
모든 SDK 라이센스 자동 수락 (0) | 2020.02.21 |
---|---|
디버그 정보로 Python 오류를 어떻게 기록합니까? (0) | 2020.02.21 |
Heroku + node.js 오류 (웹 프로세스가 시작 후 60 초 내에 $ PORT에 바인딩하지 못했습니다) (0) | 2020.02.21 |
GCC에서`문자열 상수에서 'char *'`경고로 더 이상 사용되지 않는 변환을 제거하는 방법은 무엇입니까? (0) | 2020.02.21 |
Laravel에는 Mcrypt PHP 확장이 필요합니다 (0) | 2020.02.21 |