Gson使用google的JsonReader讀取Json文件並轉化成對象


  • 使用到的類 Gson
    • 在Android Studio中搜索Gson library dependcies 只能使用小寫,gson;否則會搜不到;
  • JsonReader是使用google的JsonReader,在導入Gson library的時候,已經導入了;
  • json文件上的字段,應與你建立的數據庫表字段保持一致,否則會出錯
    • public class Student {
          @PrimaryKey
          @NonNull
          @ColumnInfo(name = "stu_id")
          private long stu_id;
      
          @NonNull
          @ColumnInfo(name = "name")
          private String name;
      
          //身份證
          @ColumnInfo(name = "ID")
          private String ID;
      
          //性別 0-男 1-女
          @ColumnInfo(name = "sex")
          private int sex;
      }
      
    • json文件
      [
        {
          "stu_id":1000,
          "ID": "410923198910162546",
          "name": "張三",
          "sex":1
        },
        {
          "stu_id":1001,
          "ID": "410923198910162545",
          "name": "李四",
          "sex":2
        }
      ]

       json文件的字段一定有和Enity一樣,否則會報莫名其妙的錯誤。

      •  

         

         

         

         是因為最后一個字段寫錯了

  • 使用Type 、TypeToken
  • 整體代碼
      InputStream inputStream = getApplicationContext().getAssets().open("students_file.json");
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                JsonReader jsonReader = new JsonReader(inputStreamReader);
    
                Gson gson = new Gson();
                Type type = new TypeToken<List<Student>>(){}.getType();
    
               List<Student> mstus=gson.fromJson(jsonReader,   type);

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM