使用String和Integer的异构列表定义GSON的类

用户3851499

我想使用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的值不会像预期的那样。

“ type”:“ both”,“ value”:[“ numbercodes”,[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));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在String中定义要在Gson中使用的类

来自分类Dev

适当的抽象代替异构(但共享类)列表?

来自分类Dev

Haskell:类型(不包含样板)是否包含String和/或[String]的异构列表?

来自分类Dev

使用 Gson 获取 Map<String, Integer>

来自分类Dev

如何使类型类与Scala中的异构列表一起使用

来自分类Dev

改造,Gson和一系列异构对象

来自分类Dev

如何定义类以使用Gson解析此JSON?

来自分类Dev

使用 GSON 序列化自定义类

来自分类Dev

使用Volley和Gson:解析项目和项目列表

来自分类Dev

比较列表的异构列表

来自分类Dev

使用GSON和Hibernate实体创建自定义JSON

来自分类Dev

如何使用Retrofit和GSON解析[]包围的JSON对象列表?

来自分类Dev

如何使用Retrofit和Gson解析嵌套列表?

来自分类Dev

Scala中的异构列表;使用地图功能

来自分类Dev

Scala中的异构列表;使用地图功能

来自分类Dev

Haskell异构对象列表

来自分类Dev

Coq中的异构列表

来自分类Dev

在 Azure 函数中定义和使用类

来自分类Dev

使用Gson将基类列表反序列化为派生类

来自分类Dev

使用流按列表<String>排序Map <String,Integer>

来自分类Dev

Gson自定义反序列化器,用于String类

来自分类Dev

WPF C#如何使用x:array在WPF中的自定义模型类中绑定和设置列表

来自分类Dev

解析Gson Android中的动态类列表

来自分类Dev

使用Gson将自定义类的ArrayList序列化为JSON并通过HTTP发送数据

来自分类Dev

GSON 无法使用自定义 getter 反序列化 Kotlin 类

来自分类Dev

在自定义类对象列表上使用__contains__

来自分类Dev

节俭:在列表定义中使用外部Java类

来自分类Dev

使用来自类定义的计算对列表进行排序

来自分类Dev

如何使用定义的ListNode类将列表作为输入

Related 相关文章

  1. 1

    在String中定义要在Gson中使用的类

  2. 2

    适当的抽象代替异构(但共享类)列表?

  3. 3

    Haskell:类型(不包含样板)是否包含String和/或[String]的异构列表?

  4. 4

    使用 Gson 获取 Map<String, Integer>

  5. 5

    如何使类型类与Scala中的异构列表一起使用

  6. 6

    改造,Gson和一系列异构对象

  7. 7

    如何定义类以使用Gson解析此JSON?

  8. 8

    使用 GSON 序列化自定义类

  9. 9

    使用Volley和Gson:解析项目和项目列表

  10. 10

    比较列表的异构列表

  11. 11

    使用GSON和Hibernate实体创建自定义JSON

  12. 12

    如何使用Retrofit和GSON解析[]包围的JSON对象列表?

  13. 13

    如何使用Retrofit和Gson解析嵌套列表?

  14. 14

    Scala中的异构列表;使用地图功能

  15. 15

    Scala中的异构列表;使用地图功能

  16. 16

    Haskell异构对象列表

  17. 17

    Coq中的异构列表

  18. 18

    在 Azure 函数中定义和使用类

  19. 19

    使用Gson将基类列表反序列化为派生类

  20. 20

    使用流按列表<String>排序Map <String,Integer>

  21. 21

    Gson自定义反序列化器,用于String类

  22. 22

    WPF C#如何使用x:array在WPF中的自定义模型类中绑定和设置列表

  23. 23

    解析Gson Android中的动态类列表

  24. 24

    使用Gson将自定义类的ArrayList序列化为JSON并通过HTTP发送数据

  25. 25

    GSON 无法使用自定义 getter 反序列化 Kotlin 类

  26. 26

    在自定义类对象列表上使用__contains__

  27. 27

    节俭:在列表定义中使用外部Java类

  28. 28

    使用来自类定义的计算对列表进行排序

  29. 29

    如何使用定义的ListNode类将列表作为输入

热门标签

归档