首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Json对象在下面的Json值之前出现?

为什么Json对象在下面的Json值之前出现?
EN

Stack Overflow用户
提问于 2019-04-17 13:07:01
回答 4查看 415关注 0票数 0

我正在尝试使用org.json.simple.JSONObject创建嵌套的json对象。为什么jsonobject会改变顺序?

预期输出:

代码语言:javascript
复制
{  
  "id":"14",   
  "email":"xxx@gmail.com",    
  "Company":{   
    "address":"milton street",   
    "postal code":"cincinnati",   
    "name":"abc"  
  }  
}  

电流输出:

代码语言:javascript
复制
{  
"Company":{   
"address":"milton street",    
"postal code":"cincinnati",    
"name":"abc"  
},   
"id":"14",   
"email":"xxx@gmail.com"  
} 

这里是我的代码:

代码语言:javascript
复制
 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());
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-04-17 13:21:03

使用google/gson库

代码语言:javascript
复制
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回购

代码语言:javascript
复制
    <!-- 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 下载

票数 1
EN

Stack Overflow用户

发布于 2019-04-17 13:38:24

见这里的答案:JSON秩序混淆

您不能也不应该依赖于JSON对象中元素的排序。

来自http://www.json.org/的JSON规范

“对象是一组无序的名称/值对”

因此,JSON库可以根据需要重新排列元素的顺序。这不是窃听器。

票数 1
EN

Stack Overflow用户

发布于 2019-04-17 13:11:51

JsonObject不维护订单,也不重要,因为您将通过密钥访问json。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55728274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档