Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AssetSerializer extends TypeAdapter<List<Asset>> {
- @Override
- public void write(JsonWriter out, List<Asset> value) throws IOException {
- out.beginArray();
- for (Asset asset : value) {
- out.beginObject();
- out.name("name").value(asset.getName());
- out.name("code").value(asset.getCode());
- out.endObject();
- }
- out.endArray();
- }
- @Override
- public List<Asset> read(JsonReader in) throws IOException {
- String temp_name = "";
- String temp_code = "";
- List<Asset> list = new LinkedList<>();
- in.beginArray();
- while (in.hasNext()) {
- switch (in.peek()) {
- case BEGIN_OBJECT:
- in.beginObject();
- while (in.hasNext()) {
- switch (in.nextName()) {
- case "name":
- temp_name = in.nextString();
- continue;
- case "code":
- temp_code = in.nextString();
- continue;
- }
- }
- in.endObject();
- Asset temp_asset = new Asset(temp_name, temp_code);
- list.add(temp_asset);
- continue;
- }
- }
- in.endArray();
- return list;
- }
- Asset asset1 = new Asset("Asset1", "code_1");
- Asset asset2 = new Asset("Asset2", "code_2");
- LinkedList<Asset> temp_list = new LinkedList<Asset>();
- temp_list.add(asset1);
- temp_list.add(asset2);
- Type assetsType = new TypeToken<List<Asset>>(){}.getType();
- Gson gson = new GsonBuilder()
- .setPrettyPrinting()
- .registerTypeAdapter(assetsType, new AssetSerializer())
- .create();
- String json = gson.toJson(temp_list);
Add Comment
Please, Sign In to add comment