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

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

如何提取自定義格式的JSON數據?

如何提取自定義格式的JSON數據?

動漫人物 2023-03-23 15:16:47
我有 Json 數據,就像 {"no":["1","2","3"],"date":["23/05/1992","02/01/1991","01/05/1992"]} 我想在 Java 中拆分成正確的格式一樣。
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

兩種主要方式:


1)定義一個類來映射它:


public class Foo{


   private List<String> no;

   private List<LocalDate> date;

   // setters or factory method

}

并使用 Json API,例如 Jackson :


ObjectMapper mapper = new ObjectMapper();

Foo foo = mapper.readValue(myStringRepresentingJson, Foo.class)

您可能需要使用并設置一個JsonDateSerializer實例來指定日期格式。


2) 定義自定義 JSON 反序列化器。


它允許以編程方式更精細地控制將 json 屬性映射到 Java 對象的方式。

有了杰克遜,擴大班級StdDeserializer是有可能的。


查看完整回答
反對 回復 2023-03-23
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

試試下面的代碼,


public class Req {

    private List<String> no;

    private List<String> date;


    public List<String> getNo() {

        return no;

    }


    public void setNo(List<String> no) {

        this.no = no;

    }


    public List<String> getDate() {

        return date;

    }


    public void setDate(List<String> date) {

        this.date = date;

    }

}

用法


直接使用控制器方法


@PostMapping("/test")

public ResponseEntity<?> test(@RequestBody Req req) {

    System.out.println(req.no);

}

使用 Gson 創建對象


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

Req req = gson.fromJson(yourjson, Req.class);

將字符串日期轉換為 LocalDate


String date = "02/01/1991";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d/MM/yyyy");

LocalDate d = LocalDate.parse(date, formatter);


查看完整回答
反對 回復 2023-03-23
?
陪伴而非守候

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

您可以通過 Gson 庫映射您的對象。

YourObj obj = new Gson().fromJson(jsonString, YourObj.class);

準備一個沒有和名稱屬性的 POJO 類。

List<String> no;
List<String> date;

Gson是一個開源 Java 庫,用于將 Java 對象序列化和反序列化為 JSON。


查看完整回答
反對 回復 2023-03-23
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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