在Java中,Json是一種輕量級(jí)的數(shù)據(jù)交換格式,它使用簡單的文本格式來描述數(shù)據(jù)對(duì)象,具有良好的可讀性和易于解析性。Json的解析和生成是通過Json API實(shí)現(xiàn)的。在Json API中,父類是JsonObject,定義了Json對(duì)象的基本屬性和方法。
// 創(chuàng)建一個(gè)Json對(duì)象 JsonObject jsonObj = new JsonObject(); // 向Json對(duì)象中添加屬性 jsonObj.addProperty("name", "Tom"); jsonObj.addProperty("age", 18); // 將Json對(duì)象轉(zhuǎn)換成字符串 String jsonStr = jsonObj.toString();
可以看到,JsonObject的常用方法有addProperty、getAsJsonElement、get、has等。addProperty用于向Json對(duì)象中添加屬性,getAsJsonElement用于獲取屬性的值,get用于獲取屬性的值并作類型轉(zhuǎn)換,has用于判斷是否存在該屬性。此外,JsonObject還提供了鍵值對(duì)的迭代器iterator()
// 迭代Json對(duì)象的屬性 Iterator>it = jsonObj.entrySet().iterator(); while (it.hasNext()) { Entry entry = it.next(); String key = entry.getKey(); JsonElement value = entry.getValue(); System.out.println(key + ":" + value); }
Json API還提供了JsonElement、JsonPrimitive、JsonArray、JsonNull等實(shí)現(xiàn)類,用于表示不同的數(shù)據(jù)類型。JsonElement是所有Json元素的抽象類,JsonPrimitive表示Json元素為基本數(shù)據(jù)類型,JsonArray表示Json元素為數(shù)組類型,JsonNull表示Json元素為null類型。
// 支持Json數(shù)組 JsonArray jsonArray = new JsonArray(); jsonArray.add(1); jsonArray.add(2); jsonArray.add(3); String jsonArrayStr = jsonArray.toString();
最后,需要注意的是,在使用Json API解析或生成Json數(shù)據(jù)時(shí),需要引入相應(yīng)的Json庫,如Google Gson。