我正在调用 RESTful api,它会给出以下响应:
{
"asks": [
[
"219.82",
"2.19"
],
[
"219.83",
"6.05"
]
],
"bids": [
[
"219.40",
"17.46"
],
[
"219.13",
"53.93"
]
]
}
我的数据对象实现现在看起来像这样:
public class OrderBook implements Serializable {
/**
* list containing the price and amount of all bid orders
*/
private String[][] bids;
/**
* list containing the price and amount
* of all ask orders
*/
private String[][] asks;
}
如何用数据对象替换这个 String[][] 并确保 GSON 仍然可以解析它?
API 是外部的,我无法更改任何内容。结果是具有两个属性的数组的数组。我不想用 String[][] 中的 GSON 在 java 中解析它,而是想要一个 Asks 和 Bids 类。 Asks 类应该包含一个 Ask 对象的数组,并且 Ask 对象应该有两个变量:value 和 amount 作为 String。这就是我希望在我的 java 代码中包含的内容。
最佳答案
如果我理解正确的话,您希望将出价类型从 String[][]
更改为 Object
。
如果您这样做,您将不得不考虑为该类创建一个自定义反序列化器。请参阅here了解详情。
但是:不要那样做。为什么要放弃类型安全?当您愿意减少类型信息时,Java 源代码的质量不会提高。
关于java - 如何使用数据对象而不是 String[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47353424/