[英]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.