修改datax,Java获取mongo,Document转换成json,遇到的类型问题,用JsonWriterSettings解决

java $numberlong 解决方法
在修改datax插件的时候遇到了问题
问题:
我们存在mongo中带有数据类型,如图
《修改datax,Java获取mongo,Document转换成json,遇到的类型问题,用JsonWriterSettings解决》
我们直接将Document转json会带上类型
《修改datax,Java获取mongo,Document转换成json,遇到的类型问题,用JsonWriterSettings解决》
且在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));
    原文作者:菩提树下的呆子
    原文地址: https://blog.csdn.net/weixin_43744732/article/details/124400357
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞