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

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

需要在 JAVA 中解析 JSON 對象內部的 JSON ARRAYS

需要在 JAVA 中解析 JSON 對象內部的 JSON ARRAYS

慕哥6287543 2022-07-14 09:50:17
我正在嘗試解析 datas.json 中存在的 JSON 數據。我需要使用 Beans/POJO 類解析排除數據。JSON 數據如下:"ExclusionList" : {                  "serviceLevel" : ["sl1","sl2","sl3"],                  "item" : ["ABC","XYZ"]                                                                 }  }我為 ExclusionList 創建了 POJO 類,但無法在 ECLIPSE IDE.Mypojo 類的控制臺中獲取和打?。篖ist<String> serviceLevel;List<String> item;//with gettter and setters.我的主要課程如下:public static void main(String[] args)            throws JsonParseException, JsonMappingException, IOException, ParseException, JSONException {    File jsonFile = new File("C:\\Users\\sameepra\\Videos\\datas.json");    ObjectMapper mapper = new ObjectMapper();      mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);    ExclusionList exclusionlist=mapper.readValue(jsonFile,ExclusionList.class);    List<String> excllist=exclusionlist.getServiceLevel();    for (int i = 0; i < excllist.size(); i++) {        System.out.println(excllist.get(i));    }}在線程“main”java.lang.NullPointerException中獲取錯誤作為異常
查看完整描述

1 回答

?
忽然笑

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

You need to wrap your pojo class in another containing an ExclusionList property.

Try this. The examples below uses lombok for getters , setters and default constructor.



import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;

import com.fasterxml.jackson.databind.DeserializationFeature;

import com.fasterxml.jackson.databind.ObjectMapper;


import lombok.Data;


@Data

public class ExclusionListWrapper {


    @JsonProperty("ExclusionList")

    private ExclusionList exclusionList;


    @Data

    class ExclusionList {

        List<String>    serviceLevel;

        List<String>    item;


    }


    public static void main(String[] args) throws Exception {

        String data = "{\"ExclusionList\" : {\"serviceLevel\" : [\"sl1\",\"sl2\",\"sl3\"], \"item\" : [\"ABC\",\"XYZ\"]}}";

        ObjectMapper mapper = new ObjectMapper();

        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

        ExclusionListWrapper exclusionlistWrapper = mapper.readValue(data, ExclusionListWrapper.class);

        List<String> excllist = exclusionlistWrapper.getExclusionList().getServiceLevel();

        for (int i = 0; i < excllist.size(); i++) {

            System.out.println(excllist.get(i));

        }

    }


}


查看完整回答
反對 回復 2022-07-14
  • 1 回答
  • 0 關注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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