2016-06-22 4 views
-3

나는 다음과 같은 것을 얻고 싶다.어떻게하면 자바 스크립트 개체에서 개체 이름을 "제거"할 수 있습니까?

{ 
    "de": { 
     "errors.de.i18n.js": { 
      "errors": { 
       "addcreditcard": "Wir konnten diese Karte nicht verifizieren. Bitte überprüfe deine Angaben und versuche es noch einmal." 
      } 
     } 
    } 
} 

내가이 사건 errors.de.i18n.js에, 그 JSON의 두 번째 요소를 삭제하고이 같은 JSON 얻을 것 :

{ 
    "de": { 
     "errors": { 
      "addcreditcard": "Wir konnten diese Karte nicht verifizieren. Bitte überprüfe deine Angaben und versuche es noch einmal." 
     } 
    } 
} 

감사를이 같은 JSON에서 시작 모두가

+0

코드를 작성하고 공유해야합니다. –

+0

원하는 것은 분명하지 않습니다. 더 자세히 설명해주세요. – Veverke

+0

또한 유효한 JSON 문자열이나 유효한 JS 객체가 아닙니다. – somethinghere

답변

2

유지할 값을 개체의 새 속성에 할당 한 다음 삭제할 값을 설정 해제하십시오.

var object = { 
 
    "de": { 
 
    "errors.de.i18n.js": { 
 
     "errors": { 
 
     "addcreditcard": "Wir konnten diese Karte nicht verifizieren. Bitte überprüfe deine Angaben und versuche es noch einmal." 
 
     } 
 
    } 
 
    } 
 
}; 
 

 
object.de.errors = object.de['errors.de.i18n.js'].errors; 
 
delete object.de['errors.de.i18n.js']; 
 

 
console.log(JSON.stringify(object));

하위 오브젝트에 더 많은 속성이있을 수 있다면, 당신은 부모 개체에 모두 복사하는 루프를 사용할 수 있습니다.

var subobject = object.de['errors.de.i18n.js']; 
for (var prop in subobject) { 
    if (subobject.hasOwnProperty(prop)) { 
     object.de[prop] = subobject[prop]; 
    } 
} 
delete object.de['errors.de.i18n.js']; 
+0

실례지만 작동하지 않습니다. 예를 들으실 수 있습니까? – Mister98

+0

죄송합니다. '설정 해제'가 있어야합니다. 이제 작동합니다. – Barmar

+0

감사합니다. 이제 작동합니다. – Mister98

1

새 객체를 생성하고이 같은 필요에 할당 할 수 있습니다 :

 var oldobj = { "de": { "errors.de.i18n.js": { "errors": { "addcreditcard":"Wir konnten diese Karte nicht verifizieren. Bitte überprüfe deine Angaben und versuche es noch einmal."}}}}; 
     var newobj = {'de': {'errors': []} }; 
     newobj.de.errors = oldobj.de['errors.de.i18n.js']['errors']; 

     alert(JSON.stringify(newobj)); 

내 참조하십시오 : https://jsfiddle.net/fictus/eg5kkrmq/

관련 문제