AndroidStudio-Gson으로 Json정리하기
Gson 사용방법
Gradle에 추가하기
implementation 'com.google.code.gson:gson:2.8.5'
테스트 JSON파일
"title" : "BINGLE BANGLE"
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
json 파일 변환예제
"song" :
[
"빙글뱅글 (BINGLE BANGLE)",
"Super Duper",
"HEAT", "Ladi Dadi",
"파르페",
"뚜뚜뚜"
],
private ArrayList<String> song;
public ArrayList<String> getSong() {
return song;
}
public void setSong(ArrayList<String> song) {
this.song = song;
}
아래는 귀찮...
private ArrayList<ChildHouseVO.Data> childHouses;
public static class Data implements Parcelable {
}
json 파일 변환예제
Gson 소스
asset폴더 생성
asset폴더에 아래의 파일추가
VO파일 생성
gsonController 제작
gson 사용
참조 : https://re-build.tistory.com/41
참조 : https://recipes4dev.tistory.com/125
기타 소스
JavaScriptDeserilizer
public static class JavaScriptDeserilizer implements JsonDeserializer<JavaScriptGson> {
@Override
public JavaScriptGson deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (json.isJsonPrimitive()) {
return null;
}
LogHelper.log(getClass().getName(), ", json : " + json.toString());
JsonObject jsonObject = json.getAsJsonObject();
if (jsonObject.getAsJsonObject().get("data") !=null && jsonObject.getAsJsonObject().get("data").isJsonArray()) {
jsonObject.add("arrdata", jsonObject.getAsJsonObject().get("data"));
} else {
jsonObject.add("strdata", jsonObject.getAsJsonObject().get("data"));
}
return new Gson().fromJson(jsonObject, JavaScriptGson.class);
}
}