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对象和数组?我正在使用一个示例,我希望在该示例中使用它,