简体   繁体   English

使用Gson将对象转换为列表

[英]Convert Object to a List using Gson

Here's my Response 这是我的回应

{
"entity": "methods",
"card": true,
"debit_card": true,
"credit_card": true,
"amex": true,
"netbanking": {
"AIRP": "Airtel Payments Bank",
"ALLA": "Allahabad Bank",
"ANDB": "Andhra Bank",
"UTIB": "Axis Bank",
"BBKM": "Bank of Bahrein and Kuwait",
"BARB_R": "Bank of Baroda - Retail Banking",
"BKID": "Bank of India",
"MAHB": "Bank of Maharashtra",
"CNRB": "Canara Bank",
"CSBK": "Catholic Syrian Bank",
"CBIN": "Central Bank of India",
"CIUB": "City Union Bank",
"CORP": "Corporation Bank",
"COSB": "Cosmos Co-operative Bank",
"DCBL": "DCB Bank",
"BKDN": "Dena Bank",
"DEUT": "Deutsche Bank",
"DBSS": "Development Bank of Singapore",
"DLXB": "Dhanlaxmi Bank",
"ESFB": "Equitas Small Finance Bank",
"FDRL": "Federal Bank",
"HDFC": "HDFC Bank",
"ICIC": "ICICI Bank",
"IBKL": "IDBI",
"IDFB": "IDFC Bank",
"IDIB": "Indian Bank",
"IOBA": "Indian Overseas Bank",
"INDB": "Indusind Bank",
"JAKA": "Jammu and Kashmir Bank",
"JSBP": "Janata Sahakari Bank (Pune)",
"KARB": "Karnataka Bank",
"KVBL": "Karur Vysya Bank",
"KKBK": "Kotak Mahindra Bank",
"LAVB_C": "Lakshmi Vilas Bank - Corporate Banking",
"LAVB_R": "Lakshmi Vilas Bank - Retail Banking",
"NKGS": "NKGSB Co-operative Bank",
"ORBC": "Oriental Bank of Commerce",
"PMCB": "Punjab & Maharashtra Co-operative Bank",
"PSIB": "Punjab & Sind Bank",
"PUNB_C": "Punjab National Bank - Corporate Banking",
"PUNB_R": "Punjab National Bank - Retail Banking",
"RATN": "RBL Bank",
"SRCB": "Saraswat Co-operative Bank",
"SVCB": "Shamrao Vithal Co-operative Bank",
"SIBL": "South Indian Bank",
"SCBL": "Standard Chartered Bank",
"SBBJ": "State Bank of Bikaner and Jaipur",
"SBHY": "State Bank of Hyderabad",
"SBIN": "State Bank of India",
"SBMY": "State Bank of Mysore",
"STBP": "State Bank of Patiala",
"SBTR": "State Bank of Travancore",
"SYNB": "Syndicate Bank",
"TMBL": "Tamilnadu Mercantile Bank",
"TNSC": "Tamilnadu State Apex Co-operative Bank",
"UCBA": "UCO Bank",
"UBIN": "Union Bank of India",
"UTBI": "United Bank of India",
"VIJB": "Vijaya Bank",
"YESB": "Yes Bank"
},
"wallet": {
  "payzapp": true,
  "olamoney": true,
  "freecharge": true,
  "mpesa": true
},
"emi": false,
"upi": true,
"upi_intent": true
}

I want to convert this into a List of custom object type using Gson 我想使用Gson将其转换为自定义对象类型的List

Here's my POJO in 这是我的POJO

public class RazorpayNetbanking {
@Expose
private String name;
@Expose
private String value;

public String getName() {
    return this.name;
}

public void setName(String name) {
    this.name = name;
}

public String getValue() {
    return this.value;
}

public void setValue(String value) {
    this.value = value;
}
}

Since you cannot guess the keys, you should iterate over them: 由于您无法猜测密钥,因此您应该遍历它们:

val json: JsonObject // assuming
json.keySet().forEach {  key ->
    val value = json.get(key).asString
    // add to list (key, value)
}

This will only for keys but I think you got the idea. 这仅适用于密钥,但我认为您已经明白了。

You should use a map and you can convert it to a list easily. 您应该使用地图,并且可以轻松地将其转换为列表。

EDIT: I don't know if gson support list of pair. 编辑:我不知道gson是否支持配对列表。 Maybe it can work... 也许可以用...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM