java $numberlong 解决方法
在修改datax插件的时候遇到了问题
问题:
我们存在mongo中带有数据类型,如图
我们直接将Document转json会带上类型
且在mongo-java-driver的jar包3.2.2的JsonWriterSettings就两种模式,没办法实现去掉
JsonWriterSettings没法builder
再把jar包更新到3.12.2后JsonWriterSettings可以builder
解决代码:
JsonWriterSettings build = JsonWriterSettings.builder()
.outputMode(JsonMode.EXTENDED)
.int64Converter((Long value, StrictJsonWriter writer) ->writer.writeString(Long.toString(value)))
.int32Converter((Integer value, StrictJsonWriter writer) ->writer.writeNumber(Integer.toString(value)))
.doubleConverter((Double value,StrictJsonWriter writer)->writer.writeNumber(Double.toString(value)))
.build();
String str = document.toJson(build);
record.addColumn(new StringColumn(str));