gson改變輸出欄位的順序
前段時間遇到的問題現在跟大家來分享。
前段時間遇到的問題現在跟大家來分享。
具體如下:
{"floats":[1.2482147,1.8486938,8.792648],"sensorType":"TYPE_ACCELEROMETER","time":171121101551270}
以上是一條記錄感測器型別資料的json字串,是用gson快速匯出json字元型別的,現在有一個需求:將字元順序改變為time,sensorType,floats的順序,在網上查了一下,發現gson並沒有向fastjson那樣改變欄位的用法,但是更改框架又比較麻煩。
最後找到了方法—TypeAdapter.write()
下面來看看具體程式碼
public class SensorTypeAdapter extends TypeAdapter{ @Override public void write(JsonWriter out, SensorModule value) throws IOException { out.beginObject(); //按自定義順序輸出欄位資訊 out.name("time").value(value.time); out.name("sensorType").value(value.sensorType); out.name("floats").value(value.floats.toString()); out.endObject(); } @Override public SensorModule read(JsonReader in) throws IOException { return null; } }
在初始化中傳入該類的物件
gson = new GsonBuilder() .registerTypeAdapter(SensorModule.class, new SensorTypeAdapter()) //registerTypeAdapter可以重複使用 .create();
這樣最後得到的json字串則為
{"time":171121103946789,"sensorType":"TYPE_ACCELEROMETER","floats":"[2.6871338, 5.106003, 7.918762]"}
收藏
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2524/viewspace-2813062/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 欄位按照指定 ID 順序進行排序排序
- arcgis欄位值計算(擷取A欄位前8位+按照順序計算8位)
- linux改變shell的輸出顏色Linux
- 輸入三個數按從大到小的順序輸出
- 讓 排序 按照 in 列表的的顯示順序排序輸出。排序
- win10硬碟順序調整怎麼設定 win10如何改變硬碟順序Win10硬碟
- 演算法題———————輸入棧的入棧順序和出棧順序判斷是否合理演算法
- 萬彩動畫大師教程 | 改變場景順序動畫
- C++輸出流cout的執行順序問題C++
- [20201224]order by欄位順序與查詢條件為NULL.txtNull
- PostgreSQL資料庫多列複合索引的欄位順序選擇原理SQL資料庫索引
- laravel 按照whereIn中給定陣列順序輸出Laravel陣列
- python pandasDataframe按指定index名或columns名(行名或列名)順序修改輸出內容的排列順序PythonIndex
- mongodb如何改_id欄位?MongoDB
- 將一個整數逆序輸出·正序輸出它的每一位數字
- 快速將下劃線欄位改為駝峰欄位
- [20210316]為什麼重新整理快取後輸出記錄順序發生變化.txt快取
- 22道js輸出順序問題,你能做出幾道JS
- linux 中實現資料按照指定行號順序輸出Linux
- MongoDB查詢如何只輸出部分欄位內容MongoDB
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- Flutter Key的原理和使用(五) 需要key的例項:可拖動改變順序的ListviewFlutterView
- Java記憶體模型FAQ(八)Final欄位如何改變它們的值Java記憶體模型
- ansible 變數優先順序示例變數
- WIN10如何更改輸入法順序 win10怎樣修改電腦輸入法順序Win10
- 【基礎題】【順序】個位、十位、百位、千位
- 字串倒序輸出字串
- mysql資料表按照某個欄位分類輸出MySql
- [20231023]為什麼重新整理快取後輸出記錄順序發生變化6.txt快取
- [20231020]為什麼重新整理快取後輸出記錄順序發生變化5.txt快取
- Gson針對API返回欄位型別不確定的解決辦法API型別
- join方法應用之一——按順序輸出三個執行緒執行緒
- 如何確定DevOps變更的優先順序?dev
- 類的成員變數的初始化順序變數
- TCP協議如何保證資料的順序傳輸TCP協議
- C語言資料結構:順序棧的建立、出入棧,以及使用順序棧實現十進位制轉十六進位制C語言資料結構
- awk 中的欄位、記錄和變數變數
- 一、輸入一個數(這裡用函式實現) 1.輸出它是幾位數 2.逆序輸出 3.正序輸出函式