JSON标准与多态性

2024-07-03 08:07:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我们主要是Java商店,有Spring/Hibernate等。我们有{}}为基础的{},客户可能会也可能不会使用Java。在

由于多态性,我们的客户面临的问题之一是将对象转换为具体类型。在

如果我们所有的客户都在使用Java/Spring,我可以修改objectmapper的设置来返回关于类型的信息。一个这样的例子可以在baeldung and polymorphism找到

我不清楚嵌入生成的JSON的类型信息是否被其他JSON解析器认为是有效的JSON,比如Python/Node-Javascript/.NET等,是否会破坏它们的代码。在

当涉及到嵌入在JSON中的类型信息时,是否有类似于Jackson的标准。谷歌搜索并没有透露太多信息。在


Tags: 对象信息json类型客户java基础例子
1条回答
网友
1楼 · 发布于 2024-07-03 08:07:33

没有一个标准是所有框架都必须遵循的。即使Jackson也可以通过许多不同的方式来实现这一点,无论用户决定使用什么。另外,Jackson总是生成valid JSON,即使使用了整个类名,例如"org.baeldung.jackson.inheritance.Car"或{}。要使其工作并易于使用,您必须澄清以下内容中的所有base types和{}:

  • 文件
  • JSon Schema

发送完整的class名称没有意义,因为非Java客户机无论如何都不会自动识别它们。因此,您需要创建映射:

  • BP-基产品
  • P1-产品1
  • P2-产品2
  • 。。。在

您还必须指定,例如,每个对象都包含"type"属性,该属性将被设置为上述列表中的一个:

[
   {
      "type":"P1",
      "model":"S500",
      "cost":250.0
   },
   {
      "type":"P2",
      "model":"NQR",
      "capacity":7500.0
   }
]

上面应该提供足够的信息给deserialise任何payload。在

相关问题 更多 >