를 역 직렬화하는 데 사용할 수 있습니다. 여기 코드는 다음과 같습니다
여기
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(MyTuple.class, new MyTupleDeserializer());
Gson gson = gsonBuilder.create();
MyClass myClass= gson.fromJson(json, MyClass.class);
는 MyTupleDeserializer 클래스
private class MyTupleDeserializer implements JsonDeserializer<MyTuple> {
@Override
public MyTuple deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
JsonArray tupleValues= json.getAsJsonArray();
MyTuple myTuple= new MyTuple();
myTuple.setVolume(tupleValues.get(0).getAsInt());
myTuple.setPercentFee(tupleValues.get(1).getAsDouble());
return myTuple;
}
}
내가 튜플의 목록을 가지고 있기 때문에 귀하의 솔루션이 작동하지 않는 코드입니다. 각 튜플은 2 개의 다른 객체 유형 (정수 및 이중)의 2 요소 배열입니다. 어떤 생각? – h2nghia
컴파일 오류가 발생 했습니까? 또는 데이터가 제대로 deserialized되지 않습니다? –
도움 주셔서 감사합니다. 마지막으로 사용자 정의 Gson 디시리얼라이저를 분석하여이를 파싱하는 방법을 배웁니다. – h2nghia