1. 程式人生 > >JAVA Gson的簡單使用小記

JAVA Gson的簡單使用小記

小記。 如果看完想選擇其他操作json資料的路子,可以看我另一篇,fastjson大記(哈哈哈)。

<dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.8.2</version>
</dependency>

 

對資料的操作:



import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;

import static jdk.nashorn.internal.objects.Global.print;

/**
 * @Author : JCccc
 * @CreateTime : 2018-11-27
 * @Description :
 * @Point: Keep a good mood
 **/
public class testMain {

    public static void main(String[] args) {
     //手動創的一個實體類, 裡面欄位全是String型別
        User userTest=new User();
        userTest.setName("joke");
        userTest.setAge("16歲");
        userTest.setHeight("60Kg");
        userTest.setSex("男");

        Gson gson=new Gson();
        String jsonStr=gson.toJson(userTest,User.class);
        System.out.println("物件轉JSON---"+jsonStr);

        User userTestNew=gson.fromJson(jsonStr,User.class);
        System.out.println("JSON轉物件---"+userTestNew.toString());

       Map map=new LinkedHashMap();
       map.put("name","merry");
       map.put("age","17歲");
       map.put("height","62Kg");
       map.put("sex","女");
       String mapJsonStr=gson.toJson(map);
        System.out.println("map轉JSON---"+mapJsonStr);

        List<User> userList = new ArrayList<>();
        userList.add(userTest);
       // System.out.println(userList.toString());
        String listJsonStr=gson.toJson(userList);
        System.out.println("list轉JSON---"+listJsonStr);

        List<User> retList = gson.fromJson(listJsonStr,new TypeToken<List<User>>(){}.getType());
        System.out.println("listJSON轉list---"+retList);

//報錯
//        List<User> retList1 = gson.fromJson(mapJsonStr,new TypeToken<List<User>>(){}.getType());
//        System.out.println("mapJSON轉list---"+retList1);
//報錯
        /*List<User> retList2 = gson.fromJson(jsonStr,new TypeToken<List<User>>(){}.getType());
        System.out.println("物件JSON轉list---"+retList2);*/
    }



}

 

執行結果:

物件轉JSON---{"name":"joke","age":"16歲","height":"60Kg","sex":"男"}
map轉JSON---{"name":"merry","age":"17歲","height":"62Kg","sex":"女"}
JSON轉物件---User{name='merry', age='17歲', height='62Kg', sex='女'}
list轉JSON---[{"name":"joke","age":"16歲","height":"60Kg","sex":"男"}]
listJSON轉list---[User{name='joke', age='16歲', height='60Kg', sex='男'}]

 

好了,小記到此。