0
내가 GSON 사용하여 다음과 같은 구조로 JSON을 역 직렬화하기 위해 노력하고있어 개체 :역 직렬화 JSON은 가변 구조 GSON
"FKeyColumn": [{
"ForeignKeyColumns": {
"Id": "Id"
},
"ReferenceTable": "Expense_Group_Configurations"
}],
"FKeyColumn": [{
"ForeignKeyColumns": {
"Vid": "Id"
},
"ReferenceTable": "Expense_Group_Configurations"
}]
...
을 내가 JSON 객체 있기 때문에,하지만 내 ForeignKeyColumns
클래스를 구성하는 방법을 잘 모르겠어요 그것을 represent는 임의의 키 - 값 쌍을 포함합니다 (항상 ForeignKeyColumns라는 이름의 객체를 제외하고 설정된 구조가 없음). GSON으로 어떻게 파싱 할 수 있습니까?
public class FKeyColumnDeserializer implements JsonDeserializer<FKeyColumn> {
public FKeyColumn deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
throws JsonParseException {
final JsonArray jsonFKArray = json.getAsJsonArray();
final FKeyColumn fkc = new FKeyColumn();
for (int i = 0; i < jsonFKArray.size(); i++) {
final JsonObject fkObject = (JsonObject) jsonFKArray.get(i);
final String ReferenceTable = fkObject.get("ReferenceTable").getAsString();
final JsonObject ForeignKeyColumns = (JsonObject) fkObject.get("ForeignKeyColumns");
Set<Entry<String, JsonElement>> entrySet = ForeignKeyColumns.entrySet();
for(HashMap.Entry<String, JsonElement> entry : entrySet){
fkc.fkRefTableMap.put(entry.getKey(), ReferenceTable);
}
}
return fkc;
}
}
: