Gson 流式序列化反序列化
阿新 • • 發佈:2019-02-19
String json = "{\"name\":\"怪盜kidou\",\"age\":\"24\"}"; User user = new User(); JsonReader reader = new JsonReader(new StringReader(json)); reader.beginObject(); // throws IOException while (reader.hasNext()) { String s = reader.nextName(); switch (s) { case "name": user.name = reader.nextString(); break; case "age": user.age = reader.nextInt(); //自動轉換 break; case "email": user.email = reader.nextString(); break; } } reader.endObject(); // throws IOException System.out.println(user.name); // 怪盜kidou System.out.println(user.age); // 24 System.out.println(user.email); // [email protected]
其實自動方式最終都是通過
JsonReader
來實現的,如果第一個引數是String
型別,那麼Gson會建立一個StringReader
轉換成流操作。