亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java:JSONObject.put looped 給出了錯誤的順序?

Java:JSONObject.put looped 給出了錯誤的順序?

墨色風雨 2021-12-01 17:02:19
今天我開始為日志文件編寫一個簡單的解析器。我想獲取日志文件并將其轉換為簡單的 json 結構。日志文件是一致的,并且有 3 個主要部分(示例如下):時間戳 [23 位]代碼 [4 位]有效載荷 [可變數字]示例日志2018-07-25T08:47:16,094,164f,test12018-07-25T08:47:18,163,1678,test22018-07-25T08:47:19,501,1662,test32018-07-25T08:47:21,278,1634,test42018-07-25T08:47:23,347,1632,test52018-07-25T08:47:24,686,1665,test62018-07-25T08:47:26,463,1678,test72018-07-25T08:47:28,533,1678,test82018-07-25T08:47:29,877,1632,test92018-07-25T08:47:31,687,1632,test10由此,我想創建一個 JSON 文件,該文件可以很好地整合內部信息。這就是我想出的(使用org.json.JSONObject庫)。BufferedReader reader = new BufferedReader(new FileReader ("file.log"));String line = null;String timestamp = null;String eventCode = null;String payload = null;JSONObject codePayload = new JSONObject();JSONObject finalString = new JSONObject();for (int i = 0; i < 10; i++) {    line = reader.readLine();    timestamp = line.substring(0, 23);    eventCode = line.substring(24, 28);    payload = line.substring(29, line.length());    codePayload.put("ID", eventCode);    codePayload.put("PL", payload);    finalString.put(timestamp, codePayload);    codePayload = new JSONObject();  }  System.out.println(finalString.toString());這個小片段應該可以很好地工作(不要介意 for),而且確實如此。它根據我給它的字符串創建 JSON 文件,但它以奇怪的順序放置,見下文。
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

org.json.JSONObject 是無序的,所以最好使用 javax.json.JSONObject 或者如果您使用 org.json 庫,請使用 org.json.JSONArray 按順序存儲時間戳。


查看完整回答
反對 回復 2021-12-01
  • 1 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號