使用 JSONObject 和 JSONArray 創(chuàng)建 json 字符串

簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

依賴

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160810</version>
</dependency>

? ? ? ?一、應(yīng)用場(chǎng)景
? ? ? ?在編寫 java 代碼時(shí),很多時(shí)候我們需要?jiǎng)?chuàng)建一個(gè) json 字符串。比如在使用 java 代碼請(qǐng)求一個(gè)服務(wù)時(shí),我們需要在 java 代碼中傳入一些參數(shù),如 url 等,這樣的情況下,請(qǐng)求接口都會(huì)要求我們傳入一個(gè) json 類型的參數(shù)。
? ? ? ?此時(shí),如果直接使用字符串構(gòu)造 json 對(duì)象也是可以的,如下面這樣:

String jsonStr = "{\"name\":\"bubble\",\"age\":100,\"male\":true}";

? ? ? ?但這樣寫很不優(yōu)雅,且會(huì)因?yàn)樽址械霓D(zhuǎn)義字符很多,容易混亂,甚至當(dāng) json 字符串很長(zhǎng)時(shí)就很難保證所構(gòu)造的 json 字符串是否正確了。

? ? ? ?二、解決方法
? ? ? ?對(duì)于上面描述的使用場(chǎng)景,我們可以使用 JSONObject 和 JSONArray 來(lái)構(gòu)造 json 字符串。下面通過(guò)幾個(gè)簡(jiǎn)單的例子來(lái)展示它們的用法。
? ? ? ?1、當(dāng) json 中沒有涉及數(shù)組時(shí)

public class Main {

    public static void main(String[] args) {
        JSONObject student = new JSONObject();
        student.put("name", "bubble");
        student.put("age", 100);
        student.put("male", true);
        System.out.println(student.toString());
    }

}

? ? ? ?通過(guò)執(zhí)行上述代碼,可以看到構(gòu)造的 json 字符串為:

{"name":"bubble","age":100,"male":true}

? ? ? ?2、當(dāng) json 中涉及到數(shù)組時(shí)

public class Main {

    public static void main(String[] args) {
        
        JSONObject student1 = new JSONObject();
        student1.put("name", "zhangsan");
        student1.put("age", 15);
        
        JSONObject student2 = new JSONObject();
        student2.put("name", "lisi");
        student2.put("age", 16);
        
        JSONArray students = new JSONArray();
        students.put(student1);
        students.put(student2);
        
        JSONObject classRoom = new JSONObject();
        classRoom.put("students", students);
        
        System.out.println(classRoom);
    }

}

? ? ? ?通過(guò)執(zhí)行上述代碼,可以看到構(gòu)造的 json 字符串為:

{"students":[{"name":"zhangsan","age":15},{"name":"lisi","age":16}]}

? ? ? ?通過(guò)這兩個(gè)例子應(yīng)該知道如何使用 JSONObject 和 JSONArray 來(lái)構(gòu)造 json 字符串了。

上一篇:使用 Gson 實(shí)現(xiàn) Json 字符串和 Java 對(duì)象之間的相互轉(zhuǎn)換
下一篇:NLTK(一):英文分詞分句

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容