第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在 Java 中構(gòu)造 JSON 數(shù)據(jù)

如何在 Java 中構(gòu)造 JSON 數(shù)據(jù)

滄海一幻覺 2023-02-23 17:01:12
我想使用 Apache HttpClient 發(fā)布 JSON 請求。但是我想發(fā)送到目標(biāo)系統(tǒng)的 Json 數(shù)據(jù)有點復(fù)雜。下面是我要發(fā)送的 json{  "name":"xyz",  "id":"428","mailId":  [   "mailme@mail.com"  ],  "bundle1":  {      "opwarden":      {         "number":"132344345",         "title":"title"      }       }}在 Java 中收縮上述 json 數(shù)據(jù)的最好和最簡單的方法是什么?
查看完整描述

2 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗 獲得超9個贊

使用Jackson 的POJO 和ObjectMapper :

public class Data {


    private final String name;

    private final String id;

    private final List<String> mailId;

    private final List<Opwarden> bundle1;


    public Data(final String name, final String id, final List<String> mailId, final List<Opwarden>     bundle1) {

        this.name = name;

        this.id = id;

        this.mailId = mailId;

        this.bundle1 = bundle1;

    }


    public String getName() {

        return name;

    }


    public String getId() {

        return id;

    }


    public List<String> getMailId() {

        return mailId;

    }


    public List<Opwarden> getBundle1() {

        return bundle1;

    }

}

和歐普華登:


public class Opwarden {


    private final String number;

    private final String title;


    public Opwarden(final String number, final String title) {

        this.number = number;

        this.title = title;

    }


    public String getNumber() {

        return number;

    }


    public String getTitle() {

        return title;

    }

}

您可以使用以下方法創(chuàng)建 JSON:


ObjectMapper objectMapper = new ObjectMapper();

Data data = new Data("xyz", "428", List.of("mailme@mail.com"), List.of(new Opwarden("132344345", "title")));

System.out.println(objectMapper.writeValueAsString(data));

輸出:


{

    "name": "xyz",

    "id": "428",

    "mailId": [

        "mailme@mail.com"

    ],

    "bundle1": [

        {

            "number": "132344345",

            "title": "title"

        }

    ]

}


查看完整回答
反對 回復(fù) 2023-02-23
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

我建議使用 JACKSON 對象映射器。如果您不想重新創(chuàng)建上述模型結(jié)構(gòu),請編寫 pojo。

可以在這里找到一個很好的教程在這里輸入鏈接描述

你基本上是這樣使用它的:

ObjectMapper objectMapper = new ObjectMapper();
String jsonRepresentation = objectMapper.writeValueAsString( anyObject );

如上所述,anyObject 也可以是映射鍵/值,值也可以再次映射。

您的具體用例將是這樣的:

   ObjectMapper m = new ObjectMapper();


    Map<String, Object> input = new HashMap<String, Object>();

    input.put( "name", "xyz" );

    input.put( "id", "428" );

    input.put( "mailId", new String[] { "mailme@mail.com" } );


    Map<String, Object> opwarden = new HashMap<String, Object>();

    opwarden.put( "number", "132344345" );

    opwarden.put( "title", "title" );


    Map<String, Object> bundle1 = new HashMap<String, Object>();

    bundle1.put( "opwarden", opwarden );


    input.put( "bundle1" , bundle1 );


    String json = m.writeValueAsString( input );


查看完整回答
反對 回復(fù) 2023-02-23
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號