JSON(二)——JSON変換(GSON)
1831 ワード
前編では、JSONは軽量レベルで効率的なデータ転送フォーマットですが、JsonとJavaオブジェクトの間で、どのように変換すればいいのでしょうか.
通常多く使用されるクラスライブラリはGSONとFastJsonである.
一、GSON
GSONはGoogleがJavaオブジェクトとJSONデータを変換するためのクラスライブラリで、Json文字列をJavaオブジェクトに変換したり、JavaオブジェクトをJSON文字列に変換したりすることができます.
1、直接new Gson対象 fromJson
Json文字列をJavaBeanに変換 toJson
JavaBeanをJson文字列に変換シーケンス化List 逆シーケンス化List
通常多く使用されるクラスライブラリはGSONとFastJsonである.
一、GSON
GSONはGoogleがJavaオブジェクトとJSONデータを変換するためのクラスライブラリで、Json文字列をJavaオブジェクトに変換したり、JavaオブジェクトをJSON文字列に変換したりすることができます.
1、直接new Gson対象
// new
Gson gson = new Gson();
String gsonStr = "{\"id\":1,\"flowRoleId\":1,\"flowRoleName\":\" \",\"userId\":82,\"userName\":\" \"}";
String gsonList = "[{\"id\":1,\"flowRoleId\":1,\"flowRoleName\":\" \",\"userId\":82,\"userName\":\" \"},{\"id\":2,\"flowRoleId\":2,\"flowRoleName\":\" \",\"userId\":83,\"userName\":\" \"},{\"id\":3,\"flowRoleId\":2,\"flowRoleName\":\" \",\"userId\":77,\"userName\":\" \"}]";
List listFlow = new ArrayList<>();
FlowRoleUser flowRoleUser1 = new FlowRoleUser();
flowRoleUser1.setFlowRoleName(" ");
FlowRoleUser flowRoleUser2 = new FlowRoleUser();
flowRoleUser2.setFlowRoleName(" ");
flowRoleUser2.setUserName(" ");
listFlow.add(flowRoleUser1);
listFlow.add(flowRoleUser2);
Json文字列をJavaBeanに変換
FlowRoleUser flowRoleUser = gson.fromJson(gsonStr, FlowRoleUser.class);
JavaBeanをJson文字列に変換
String jsonStr2 = gson.toJson(flowRoleUser2, FlowRoleUser.class);
String jsonList = gson.toJson(listFlow);
List list = gson.fromJson(gsonList, new TypeToken>(){}.getType());