我正在尝试使用org.json.simple.JSONObject创建嵌套的json对象。为什么jsonobject会改变顺序?
预期输出:
{
"id":"14",
"email":"xxx@gmail.com",
"Company":{
"address":"milton street",
"postal code":"cincinnati",
"name":"abc"
}
} 电流输出:
{
"Company":{
"address":"milton street",
"postal code":"cincinnati",
"name":"abc"
},
"id":"14",
"email":"xxx@gmail.com"
} 这里是我的代码:
JSONObject First = new JSONObject();
First.put("id", "14");
First.put("email", "xxx@gmail.com");
JSONObject companydetails = new JSONObject();
companydetails.put("name", "abc");
companydetails.put("address", "milton street");
companydetails.put("postal code", "cincinnati");
First.put("Company",companydetails);
System.out.println(First.toString());发布于 2019-04-17 13:21:03
使用google/gson库
JsonObject o=new JsonObject();
o.addProperty("id", "14");
o.addProperty("email", "xxx@gmail.com");
JsonObject companydetails1 = new JsonObject();
companydetails1.addProperty("name", "abc");
companydetails1.addProperty("address", "milton street");
companydetails1.addProperty("postal code", "cincinnati");
o.add("Company",companydetails1);
System.out.println(o.toString());与maven回购
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>或者使用外部jar 下载
发布于 2019-04-17 13:38:24
见这里的答案:JSON秩序混淆
您不能也不应该依赖于JSON对象中元素的排序。
来自http://www.json.org/的JSON规范
“对象是一组无序的名称/值对”
因此,JSON库可以根据需要重新排列元素的顺序。这不是窃听器。
发布于 2019-04-17 13:11:51
JsonObject不维护订单,也不重要,因为您将通过密钥访问json。
https://stackoverflow.com/questions/55728274
复制相似问题