我有一个来源,我从中获取序列化的 ION 数据,其中类型注释在多态类型字段上。使用以下代码转换为 JSON 时,它正在丢失类型注释。有什么方法可以将离子类型注释作为转换后的 JSON 中的字段?
private final IonSystem system = IonSystemBuilder.standard().build();
public String convert(final String serializedIon) {
final IonValue ionValue = system.singleValue(serializedIon);
final StringBuilder stringBuilder = new StringBuilder();
final IonWriter writer = IonTextWriterBuilder.json().build(stringBuilder);
ionValue.writeTo(writer);
return stringBuilder.toString();
}
输入离子
{matchConditions: [TypeA::{}, TypeB::{}]}
输出 JSON
{"matchConditions": [{}, {}]}
预期的 JSON
{"matchConditions": [{"type": "TypeA"}, {"type": "TypeB"}}
我无法控制 ION 如何在源代码中序列化。今后我也许可以为将来的数据更改它,但仍然需要一些方法来处理已经生成的数据。