Json对象到android中的对象数组

Posted

技术标签:

【中文标题】Json对象到android中的对象数组【英文标题】:Json objects to Array of objects in android 【发布时间】:2020-08-02 20:15:40 【问题描述】:

我想将 CoinPriceMulti 类中的每个对象映射到一个对象数组中,因此我不需要为每个对象执行 getBTC().getUSD()、getETH().getUSD() 和 getUSD().getUSD() 之类的操作对象我只想将所有对象都放在对象数组中,这样我就可以像这样执行 object[0].getUSD() 。

这是我下面给定 JSON 响应的实体类

public class CoinPriceMulti 

/**
 * BTC : "USD":7167.06
 * ETH : "USD":182.63
 * USD : "USD":1
 */

private BTCBean BTC;
private ETHBean ETH;
private USDBean USD;

public BTCBean getBTC() 
    return BTC;


public void setBTC(BTCBean BTC) 
    this.BTC = BTC;


public ETHBean getETH() 
    return ETH;


public void setETH(ETHBean ETH) 
    this.ETH = ETH;


public USDBean getUSD() 
    return USD;


public void setUSD(USDBean USD) 
    this.USD = USD;


public static class BTCBean 
    /**
     * USD : 7167.06
     */

    private double USD;

    public double getUSD() 
        return USD;
    

    public void setUSD(double USD) 
        this.USD = USD;
    


public static class ETHBean 
    /**
     * USD : 182.63
     */

    private double USD;

    public double getUSD() 
        return USD;
    

    public void setUSD(double USD) 
        this.USD = USD;
    


public static class USDBean 
    /**
     * USD : 1
     */

    private int USD;

    public int getUSD() 
        return USD;
    

    public void setUSD(int USD) 
        this.USD = USD;
    

这是我的 JSON 响应


"BTC": 
    "USD": 7167.06
,
"ETH": 
    "USD": 182.63
,
"USD": 
    "USD": 1

我想将每个 BTC、ETH 和 USD 映射到一个数组中,而不是我想遍历每个对象的单独对象

【问题讨论】:

【参考方案1】:

如果可能的话,转换或将您的响应转换如下


"result": [
"BTC": 
  "USD": 7167.06
,
"ETH": 
  "USD": 182.63
,
"USD": 
  "USD": 1
]

【讨论】:

这是api响应我该如何更改它 制作这个api的人可以帮忙!【参考方案2】:

由于您的 JSON 包含动态字段名称,我们可以这样尝试

    创建一个简单的 POJO 以读取 USD 中的价格

    class MarketValue 
        @SerializedName("USD")
        Double usd;
    
    

    Gson解析创建令牌类型

    Type typeToken = new TypeToken<Map<String, MarketValue>>() .getType();
    

    使用Gson解析器解析JSON

    Map<String, MarketValue> result = new Gson().fromJson(/* Your JSON string */, typeToken);
    

您可以轻松地将映射转换为对象列表并使用索引进行访问。我使用 Gson 进行解析,但您确实知道我们如何解析 JSON。

【讨论】:

我没有清楚地了解事情,如果你把我的联系电话 7878049434 @Hussain 联系到我,请帮助它更好

以上是关于Json对象到android中的对象数组的主要内容,如果未能解决你的问题,请参考以下文章

Android Retrofit 数组列表中的嵌套 JSON 对象

在 android Studio 中迭代包含列表/数组的 JSON 对象

如何从android中的url解析多个JSON对象和数组?我正在使用一个示例,我希望在该示例中使用它,

Android- 创建 JSON 数组和 JSON 对象

为JSON对象中的每个数组添加一个(子)按钮元素到div,并为数组中的每个对象添加子按钮(到数组按钮)

如何验证 json 对象中的 JSON 对象数组?