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

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

為什么 Json 對象在下面的 Json 值之前出現?

為什么 Json 對象在下面的 Json 值之前出現?

至尊寶的傳說 2022-10-12 10:01:53
我正在嘗試使用創建嵌套的 json 對象org.json.simple.JSONObject。為什么 jsonobject 改變順序?預期輸出:{    "id":"14",     "email":"[email protected]",      "Company":{       "address":"milton street",       "postal code":"cincinnati",       "name":"abc"    }  }  電流輸出:{  "Company":{   "address":"milton street",    "postal code":"cincinnati",    "name":"abc"  },   "id":"14",   "email":"[email protected]"  } 這是我的代碼: JSONObject First = new JSONObject();    First.put("id", "14");    First.put("email", "[email protected]");    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());
查看完整描述

4 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

使用 google/gson 庫


JsonObject o=new JsonObject();

o.addProperty("id", "14");

o.addProperty("email", "[email protected]");


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下載


查看完整回答
反對 回復 2022-10-12
?
慕桂英3389331

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

在此處查看答案:JSON 順序混淆

您不能也不應該依賴 JSON 對象中元素的順序。

來自http://www.json.org/的 JSON 規范:

“對象是一組無序的名稱/值對”

因此,JSON 庫可以根據需要自由地重新排列元素的順序。這不是錯誤。


查看完整回答
反對 回復 2022-10-12
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

JsonObject 不維護順序,這并不重要,因為您將通過鍵訪問 json。



查看完整回答
反對 回復 2022-10-12
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

import com.fasterxml.jackson.annotation.JsonProperty;

import com.google.gson.Gson;

import com.google.gson.GsonBuilder;

import lombok.Builder;

import lombok.Getter;

import org.junit.Test;


public class TestJUnit {

    @Test

    public void exec() {

        Gson gson = new GsonBuilder().disableHtmlEscaping().create();


        String toPrint = gson.toJson(ToJsonFormat.builder()

                .id(14)

                .email("[email protected]")

                .company(Company.builder()

                        .address("milton street")

                        .postCode("cincinnati")

                        .name("abc")

                        .build())

                .build());


        System.out.println(toPrint);

    }


    @Getter

    @Builder

    private static class ToJsonFormat {

        private int id;

        private String email;

        private Company company;

    }


    @Getter

    @Builder

    private static class Company {

        private String address;

        @JsonProperty("post code")

        private String postCode;

        private String name;

    }

}

結果:


{"id":14,"email":"[email protected]","company":{"address":"milton street","post_code":"cincinnati","name":"abc"}}




查看完整回答
反對 回復 2022-10-12
  • 4 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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