Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中Json对象到对象数组_Android_Json_Jackson - Fatal编程技术网

android中Json对象到对象数组

android中Json对象到对象数组,android,json,jackson,Android,Json,Jackson,我希望将CoinPriceMulti类中的每个对象映射到一个对象数组中,这样我就不需要像getBTC().getUSD()、getETH().getUSD()和getUSD().getUSD()那样对每个对象执行操作,我只想将所有对象都映射到对象数组中,这样我就可以执行对象[0].getUSD()这样的操作 这是下面给定JSON响应的实体类 public class CoinPriceMulti { /** * BTC : {"USD":7167.06} * ETH : {"USD":18

我希望将CoinPriceMulti类中的每个对象映射到一个对象数组中,这样我就不需要像getBTC().getUSD()、getETH().getUSD()和getUSD().getUSD()那样对每个对象执行操作,我只想将所有对象都映射到对象数组中,这样我就可以执行对象[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映射到一个数组中,而不是单独的对象,我想遍历每个对象。如果可能的话,转换或转换您的响应,如下所示

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

如果可能的话,转换或让你的回答转换如下

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

因为JSON包含动态字段名,所以我们可以这样尝试

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

    class MarketValue {
        @SerializedName("USD")
        Double usd;
    }
    
  • Gson
    解析创建令牌类型

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

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

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

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

    class MarketValue {
        @SerializedName("USD")
        Double usd;
    }
    
  • Gson
    解析创建令牌类型

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

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

    这是api响应我如何更改它制作此api的人可以在这方面提供帮助!这是api响应我如何更改它制作此api的人可以在这方面提供帮助!我没有弄清楚,请帮帮忙,如果你打我的联系电话78049434@Hussain会更好。我没有弄清楚,请帮帮忙,如果你打我的联系电话78049434@Hussain会更好