簡體   English   中英

如何在Java中打印JSON對象

[英]How to print JSON Object in java

我無法以順序方式打印json數據。 我的代碼如下:

import org.json.simple.JSONObject;

public class SendingJSONDATAinPost {

    public static void main(String[] args) {

        JSONObject shipmentObject = new JSONObject();
        shipmentObject.put("created_at", "2015-09-1001: 50");
        shipmentObject.put("callback_url","callback/url");

        System.out.println("JSON OUTPUT->"+shipmentObject.toJSONString());  
    }
}

我的輸出是:

JSON OUTPUT-> {"callback_url":"callback\\/url","created_at":"2015-09-1001: 50"}

但我需要這樣:

JSON OUTPUT-> {"created_at":"2015-09-1001: 50","callback_url":"callback\\/url"}

因為該對象使用HashMap作為存儲,所以不能:

 public class JSONObject extends HashMap

因此將不保留訂單。 這是來自JSONObject javadoc:

JSON對象。 鍵值對是無序的。

為了擁有自己的方式,您將需要在ArrayList或類似的地方存儲輸入鍵,然后從JSONObject獲取該列表中的每個值。

JSONObject實現java.util.Map,並在內部使用HashMap實現,因此無法順序打印對象,因為HashMap不能保持順序。

但是,如果要實現此功能,請嘗試維護兩個JSONArray對象,一個包含所有鍵值,另一個包含其對應值的數組。 JSONArray實現java.util.List並能夠維護順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM