首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 將類 JSON 字符串轉為 List:JSONArray + 泛型反序列化
     編輯:程式設計綜合問答

輸入格式規範化

原字符串 `{{name:zs,age:22},{name:ww,age:22}}` **非標準 JSON**,需補雙引號:

String jsonStr = "[{\"name\":\"zs\",\"age\":22},{\"name\":\"ww\",\"age\":22}]";

方案一:json-lib (舊項目常用)

JSONArray array = JSONArray.fromObject(jsonStr);
List list = (List) JSONArray.toCollection(array, User.class);
// User 需提供無參構造器、setter/getter

方案二:Jackson (現代標準,性能最優)

ObjectMapper mapper = new ObjectMapper();
List list = mapper.readValue(jsonStr, new TypeReference>() {});

方案三:Gson (Google 出品,API 簡潔)

Gson gson = new Gson();
Type type = new TypeToken>(){}.getType();
List list = gson.fromJson(jsonStr, type);

實體類定義

@Data // Lombok
public class User {
    private String name;
    private int age;
}

避坑指南