簡體   English   中英

如何將json respone設置為Java對象

[英]How to set json respone as java object

我有api並嘗試訪問鏈接:

server/apps/ProcessRequest?req={"agent_id":"id","proccode":"380000","agent_pass":"pass","req_datetime":"20161108132741","customer_id":"547201743150","product_code":"001002","rrn":"uniquecode"}

我的問題是上面鏈接的響應,我想將響應設置為java對象並使用它。

我得到這個回應:

{
"resp_code": "0000",
"amount": "0",
"data": {
    "Status": "0000",
    "NomorPelanggan": "547",
    "IDPelanggan": "547",
    "Unsold": "[]",
    "Nama": "PLGN LPB., 05134710274",
    "TeleponUP": "123",
    "Daya": "2200",
    "KodeUP": "54720",
    "MaksimalKWH": "5000",
    "Tagihan": [
        {
            "Periode": "201611",
            "Total": 0
        }
    ],
    "NomorMeter": "05134710274",
    "Tarif": "R3",
    "TotalTagihan": "0",
    "ErrorMessage": "",
    "SessionId": "2016110813321820497",
    "Nominal": [
        20000,
        50000,
        100000,
        200000,
        500000,
        1000000,
        5000000,
        10000000,
        50000000
    ],
    "KodeDistribusi": "54"
},
"resp_desc": "Successful",
"proccode": "380000"}

如何將此響應設置為java對象?

該api不是我所有的,我現在不該該api的pojo模型。

我認為您需要的是序列化。 如果您知道將要預先收到的Json格式,則可以簡單地使用Gson解析Json並從中創建Java對象。

假設您有這個json:

{
    "type": "Fiat",
    "model": "500",
    "colour": "white"
}

嘗試這樣的事情:

public class Car {
    private String type;
    private String model;
    private String colour;
    // Getters and setters.
}

public static void main(final String... args) {
    String json = getTheJsonSomehow();
    Gson gson = new Gson();
    Car car = gson.fromJson(json, Car.class);
}

請參閱說明文件

如果您不確定de repsonse json的整個結構是什么。

您可以簡單地將響應字符串轉換為Map(基於u知道根節點是json對象,而不是json數組)

通過這樣的fastjson API:

Map<String, Object> list = JSON.parseObject("...", new TypeReference<Map<String, Object>>() {});

“ ...”是響應字符串

Gson,json-simple和jackson是您可以使用的少數庫。 但是,無論使用哪種方法,您都必須定義一個Java類結構來親自代表Json進行編組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM