- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 GSON 将对象转换为 json 字符串。json 字符串是
"type": "both", "value": ["numbercodes", [1, 2, 3]]
正如您所看到的,“值”是字符串列表,后跟整数数组,那么我如何表示字符串和数字的异构列表
以下代码将不起作用:
class X
{
String type;
List<List<String>> value;
}
或者甚至以下代码也不起作用:
class Value
{
String x1;
List<Integer> x2;
}
class X
{
String type;
Value value;
}
并且:
Gson gson = new Gson();
X x = new X();
String jsonString = gson.toString(x);
但是 jsonString 的值不会符合预期。
“类型”:“两者”,“值”:[“数字代码”,[1,2,3]]
那么我应该如何定义我的类“X”,以便我得到上面的 json 字符串。
最佳答案
最好的解决方案是重构数据模型。始终编写对其他开发人员来说清晰的代码,以便他们能够理解模型代表的内容。它应该像下面的例子:
{
"type": "both",
"someKey": "numbercodes",
"arrayOfIntegers": [1, 2, 3]
}
然后你的实体类将是:
class Entity {
String type;
String someKey;
List<Integer> arrayOfIntegers;
}
当前模型并没有真正说明什么是“数字代码”和整数数组。有很多方法可以改变它,我刚刚提出了一种。
编辑:
如果您确实想保留当前模型,则应该是:
class Entity {
String type;
List<Object> value = new ArrayList<>();
...
public void addValue(Object valueToAdd){
value.add(valueToAdd);
}
}
...
Entity entity = new Entity();
entity.setType("both");
entity.addValue("numbercodes");
entity.addValue(Arrays.asList(1,2,3));
关于java - 使用字符串和整数的异构列表定义 GSON 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38685721/
我有一个 NSTreeController (向 NSOutlineView 提供内容)。我希望顶级对象属于一个类,而所有其他对象(因此,任何级别的子对象)属于另一个类。解决这个问题的最佳方法是什么?
我有一个如下所示的 GADT data MyTypes = MyInt | MyDouble data Test (t :: MyTypes) where A :: Int -
我需要一个高效的异构数组,其中第一个元素是 int,其余是 float。然而,创建它之后,基本的数组操作就会呈爆炸式增长。 A = np.zeros(1, dtype='i4, f4, f4') B
我有一个 pandas DataFrame,其中包含需要拆分成平衡切片的字符串和浮点列,以便训练 sklearn 管道。 理想情况下,我会使用 StratifiedKFold在 DataFrame 上
是否有一种异构容器的形式,能够存储例如不同的基本类型(例如int、float、double)? 最终我希望能够在计算中使用元素而无需显式引用类型,例如 auto res = a + b,其中操作数 a
假设我有一个结构(或类),如下所示: struct _particle { std::vector vx , vy; std::vector id; std::vector rx, ry; }; ty
我在将具有 > 22 列的表专门映射到 case class 时遇到问题,假设您有以下代码 import slick.driver.PostgresDriver import scala.slick.
我是一名优秀的程序员,十分优秀!