一,首先是maven依賴的引入
原生JSON:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>{json.version}</version>
</dependency>
GSON:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>{gson.version}</version>
</dependency>
二,首先說明json的生成方式(我們分爲三種)忽略到類直接編寫
2.1:原生JSON
JSONObject jsonData = new JSONObject();
Object nullObj = null;//因爲girlFriends這個鍵的值重載了兩個類型,所以我們把null賦值給Object不會編譯出錯了
jsonData.put("name",“蔣樹樹”);
jsonData.put("age",25);
jsonData.put("hobby",new String[]{"Java","C++"});
jsonData.put("girlFriends",nullObj);
System.out.println(jsonData.toString();
2.2:Map生成
Map<String,Object> jsonData = new HashMap<String,Object>();
Object nullObj = null;
jsonData.put("name",“蔣樹樹”);
jsonData.put("age",25);
jsonData.put("hobby",new String[]{"Java","C++"});
jsonData.put("girlFriends",nullObj);
//使用JSONObject的構造函數可以傳一個Map集合
System.out.println(new JSONObject(jsonData));
2.3:JavaBean生成
意思就是說我們在一個實體類中把值一一set進去,然後把這個bean對象直接放到JSONObject中就會自動生成了,代碼如下:
JsonData jd = new JsonData();
jd.setName("蔣樹樹");
jd.setAge(28);
jd.setHobby(new String[]{"玩遊戲","畫畫"});
jd.setGirlFriends(null);
System.out.println(new JSONObject(jd));