2013-07-30 2 views
3

안녕하세요, 해시 및 목록으로 구성된 중첩 된 개체가 있습니다. gson을 사용하려하지만 hashmaps의 값이 단순 문자열 대신 hashmaps 인 경우 제대로 작동하지 않는 것 같습니다.자바에서 해시 맵의 해시를 json으로 변환하는 방법

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
questionDetails.put("validations", new HashMap<>().put("compulsary", 1)); 
System.out.println(new Gson().toJson(questionDetails)); 

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
questionDetails.put("validations", "something"); 
System.out.println(new Gson().toJson(questionDetails)); 

잘 작동하는 것 같다 인쇄

{"label":"I am working on something"} 

동안 경우.

답변

4

에서 얻을 수 있습니다 : 새로운 HashMap에 <을>() 넣어 (". 강제 ", 1).

questionDetails.put("validations", new HashMap<>().put("compulsary", 1)); 

는 수행

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
Map validations = new HashMap<>(); 
validations.put("compulsary", 1) 
questionDetails.put("validations", validations); 
System.out.println(new Gson().toJson(questionDetails)); 

{ "검증을": { "compulsary": 1} "레이블을": "뭔가 작업을하고있다"}

관련 문제