JSONObject 내의 모든 객체에 key-value를 추가하고 싶을 때

조회 3,671 · 댓글 0
동교동삼거리동교동삼거리작성자2016년 3월 11일
고민을 많이 했다. 그리고 내린 결론은 다음과 같았다.

1. loop를 돌려서
2. key를 꺼내고
3. key에 해당하는 value를 꺼내고
4. 새로운 JSONObject에 하나하나 put을 한다.

꽤 생각대로 잘 됐다.


Iterator<String> it = oldJsonObj.keys();

while (it.hasNext()) {
String key = it.next();
String value = oldJsonObj.getJSONObject(key);
newJsonObj.put("addKey","addValue");
}

그런데 system.out.println으로 newJsonObj를 찍어보면 \ (escape character)가 포함되어 있었다. 즉, 제대로 쓸 수 있는 JSONObject가 아니었다. 이걸 없앤다고 replaceAll("\\\\","")도 먹여봤지만 잘 안됐다.

하지만 참 단순하게 해결할 수 있었던 것을.


[hide]Iterator it = oldJsonObj.keys();
while (it.hasNext()) {
String key = it.next();
oldJsonObj.getJSONObject(key).put("addKey","addValue");
}[/hide]

로그인 후 답글을 남길 수 있습니다.