2016-10-19 2 views
0

안녕하세요 자바 클래스 자바 객체를 키로 사용하는 방법 JSON에서?

// code 
class A{ 
    private int i; 
    private String j; 
// getters/setters 
} 

내가 내 JSON에서 맵의 키로서 객체를 사용하려면, 같은, 나는이 어떻게 할 수 있습니까? 예 : 원하는 것 - {javaObject : value}

+0

불가능 : 모든 JSON 키는 문자열입니다. 클래스와 문자열 사이의 전체적인 매핑을 만들 수 있다면 (객체의 문자열 표현을 키로 사용) – Amadan

+0

'{javaObject : value}'의 'value'는 무엇입니까? 정확하게? –

+0

안녕하세요 애드리안, 하자 해시지도처럼 : - 지도 지도 = 새 HashMap(); 그리고 JSON 문자열이 필요합니다. – user1157635

답변

0

이 경우 객체를 json으로 변환하려면이 link을 사용하십시오. Gson이 그렇게 할 수 있습니다.

+0

tostring 개체를 사용하므로 작동하지 않습니다. 링크 아래에 가능하지 않습니다. - http://stackoverflow.com/questions/11628698/can-we-make-object-as-key-in-map -when-using-json – user1157635

+0

gson을 사용하면 문제를 해결할 수 있습니다. –

0

당신은 어떤 개체와 키를 결합하여 JSON 키를 사용하여 키 이름을 매핑 할 수 있습니다,이를 달성하기 위해 잭슨 라이브러리를 사용 -

1.You는 데이터가 아래와 같이 POJO를 바인딩을 만들 수 있습니다

-

class A{ 

    @JsonProperty("key_name") 
    private int i; 
    @JsonProperty("key_name") 
    private String j; 
// getters/setters 

} 

당신은 키로서 사용 될 수있는 객체 원하는 2.If, 다음 아래 같은 POJO를 만들 -

class JsonData{ 
@JsonProperty("key_name") 
private A object; 
//getter //setter 
} 
0

안녕하세요 나는 우리가이 JSON의지도 키로 복잡한 객체에 대한 사실, 정답을 찾을했습니다 사용 : -

GsonBuilder gsonBuilder = new GsonBuilder(); 
gsonBuilder.enableComplexMapKeySerialization(); 
Gson mapper = gsonBuilder.create(); 
//Object to JSON in String 
String jsonInString = mapper.toJson(myobject); //myobject=any object of class A 
관련 문제