色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json 轉實體類

張吉惟1年前8瀏覽0評論

Java使用JSON數據格式進行前后端交互是非常常見的,如何將JSON數據轉換為Java實體類也是很重要的一件事情。本文將介紹使用Java的JSON工具庫將JSON字符串轉換為Java實體類的方法。

首先需要明確的是,JSON格式的數據與Java實體類的定義是有區別的,必須要進行轉換。我們可以借助Java的JSON工具庫來完成這個轉換操作。常用的JSON工具庫有Gson、Fastjson、Jackson等。

接下來以Gson作為例子,介紹如何將JSON字符串轉換為Java實體類:

Gson gson = new Gson(); //創建Gson對象
String json = "{\"name\":\"張三\",\"age\":18}"; //待轉換的JSON字符串
Person person = gson.fromJson(json, Person.class); //將JSON字符串轉換為Person對象
System.out.println(person.getName()); //輸出結果:張三
System.out.println(person.getAge()); //輸出結果:18

上述代碼的執行結果為輸出Person對象的姓名和年齡。其中fromJson()方法將JSON字符串轉換為Java實體類對象,傳入的第一個參數是JSON字符串,第二個參數是Java實體類的Class類型。而Java實體類需要滿足以下幾個要求:

  • 必須是公共類(public class)
  • 必須有無參構造器
  • 成員屬性必須有get/set方法

對于復雜的JSON數據結構,如多層嵌套或者數組對象,可以通過定義多個Java實體類來完成轉換操作。需要將JSONObject轉為Java實體類,可以使用fromJson()方法;將JSONArray轉為List集合,可以使用TypeToken來指定集合中元素的類型:

Gson gson = new Gson(); //創建Gson對象
String json = "{\"name\":\"張三\",\"schools\":[{\"name\":\"清華大學\",\"location\":\"北京\"},{\"name\":\"復旦大學\",\"location\":\"上海\"}]}"; //待轉換的JSON字符串
Person person = gson.fromJson(json, Person.class); //將JSON字符串轉換為Person對象
ListschoolsList = gson.fromJson(gson.toJson(person.getSchools()), new TypeToken>() {}.getType()); //將JSONArray轉換為List集合
System.out.println(person.getName()); //輸出結果:張三
System.out.println(schoolsList.get(0).getName()); //輸出結果:清華大學
System.out.println(schoolsList.get(1).getName()); //輸出結果:復旦大學

以上代碼的執行結果為輸出Person對象中的姓名屬性以及School對象中的學校名稱屬性。可以看出通過Gson這種JSON工具庫很方便地進行JSON格式數據與Java實體類的轉換操作。