{
data:{},
firstNane:"",
id:"1,
lastName:"",
children:[
parent:"1",
id:"11",
name:"",
firstName:"",
lastName:"",
chidlren:[..other nested children],
data:{},
],
name:"",
}
以上是我的 JSON 物件,我想將鍵重新定位為以下格式 id,name,firstName,lastName,data 和 children
有人可以讓我知道如何重新定位上面提到的鍵,這樣我的最終輸出將顯示如下::-
這是 JSON 物件,也讓我知道哈希映射如何對元素進行排序。
{
id:"1,
name:"",
firstNane:"",
lastName:"",
data:{},
children:[
id:"11",
name:"",
firstName:"",
lastName:"",
parent:"1",
data:{},
chidlren:[..other nested children],
],
}
uj5u.com熱心網友回復:
您可以使用LinkedHashMap.
該LinkedHashMap回報他們補充說,不像同樣的元素HashMap。
uj5u.com熱心網友回復:
通過JSON 定義:
JSON 建立在兩種結構上:
名稱/值對的集合。在各種語言中,這被實作為物件、記錄、結構、字典、哈希表、鍵控串列或關聯陣列。
值的有序串列。在大多數語言中,這被實作為陣列、向量、串列或序列。物件是一組無序的名稱/值對。
同樣,HashMap也不是有序的:該類不保證地圖的順序;特別是,它不保證訂單會隨著時間的推移保持不變。
接下來,呈現的 JSON 無效,需要更新。
但是,某些 JSON 庫提供了對欄位進行排序的工具,例如@JsonPropertyOrderJackson 庫中的注釋。
@JsonInclude(Include.NON_NULL)
@JsonPropertyOrder({ "id", "name", "firstName", "lastName", "parent", "data", "children" })
@Data
public class MyPojo {
private Integer id;
private String name;
private String firstName;
private String lastName;
private Map<String, Object> data;
private List<MyPojo> children;
private Integer parent;
}
測驗:
ObjectMapper mapper = new ObjectMapper();
MyPojo c1 = new MyPojo(11, "", "", "", new HashMap<>(), new ArrayList<>(), 1);
MyPojo mp = new MyPojo(1, "", "", "", new HashMap<>(), Arrays.asList(c1), null);
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(mp));
輸出:
{
"id" : 1,
"name" : "",
"firstName" : "",
"lastName" : "",
"data" : { },
"children" : [ {
"id" : 11,
"name" : "",
"firstName" : "",
"lastName" : "",
"parent" : 1,
"data" : { },
"children" : [ ]
} ]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392766.html
