2013-06-18 4 views
1

Stackoverflow에서 많은 질문을 보았지만 정확하게 쿼리에 응답하는 것을 찾지 못했습니다.json 개체에 항목 추가

내 JSON 개체에 요소를 추가해야합니다

var newShape = "shape2"; 
JSONObject.newShape.id = "id2"; 

참고 :

var JSONObject = { 
    "shape0": { 
     "id": "id0", 
     "x1": 0, 
     "x2": 0, 
     "y1": 0, 
     "y2": 0 
    }, 
    "shape1": { 
     "id": "id1", 
     "x1": 2, 
     "x2": 2, 
     "y1": 2, 
     "y2": 2 
    } 
}; 

내가이 구문하지만 헛된을 사용 우선, JSON 객체이다? 어떤 도움이

+0

오류가 발생합니까? –

+0

자바는 Javascript와 관련이 없습니다. 태그가 삭제되었습니다. –

+1

당신이하고있는 일은 말이되지 않습니다. –

답변

4

당신이 나머지와 유사한 구조를 구축하려는 가정 :

JSONObject.shape2 = { 
    id: 'id2', 
    "x1": 4, 
    "x2": 4, 
    "y1": 4, 
    "y2": 8 
}; 

또는 : Btw는

var shapeName = 'shape2'; 
JSONObject[shapeName] = { 
    ... 
}; 

, 이들은 이 아니며 JSON 개체입니다. 그들은 자바 스크립트에서 단지 객체입니다.

는 다음 업데이트가 작동하지 않을 것입니다 : 모든

var newShape = "shape2"; 
JSONObject.newShape.id = "id2"; 

먼저, 표기가 잘못된 것입니다; [newShape]을 사용해야합니다. 그러나 이것이 주된 이유는 아닙니다. 아직 존재하지 않는 객체를 역 참조 할 수 없기 때문에 작동하지 않습니다.

JSONObject[newShape] 

는 정의되지 않습니다, 그래서 이것은 :

JSONObject[newShape].id 

이가, 배열하지 JSON 객체를 사용하여 그렇지 않은 TypeError: Cannot set property 'id' of undefined

+0

나는 그것을 json 객체로 만들고 싶습니다. 어떻게? –

+1

정답은 +1입니다. 슬프게도 도움이 될 것 같지 않습니다. –

+0

JSON은 Javascript Object Notation의 약자로 일반 Javascript를 작성하고 있음을 의미합니다.JSON === 자바 스크립트 객체 – Pinoniq

1

을 이해할 수있을 것이다 당신이 필요합니다

var newShape="shape2"; 
JSONObject[newShape].id = "blar"; 
+0

다음, 사용할 수 있습니다 : JSONObject.shape2.id? –

+1

이것은 작동하지 않습니다. –

+0

JSONObject [newShape]는 정의되지 않았으므로 작동하지 않습니다. –