4 回答

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

TA貢獻2036條經驗 獲得超8個贊
在此處查看答案:JSON 順序混淆
您不能也不應該依賴 JSON 對象中元素的順序。
來自http://www.json.org/的 JSON 規范:
“對象是一組無序的名稱/值對”
因此,JSON 庫可以根據需要自由地重新排列元素的順序。這不是錯誤。

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"}}
添加回答
舉報