Jackson
0 人感兴趣 · 17 次引用
- 最新
- 推荐
[杂谈] 大型 JSON 数据切分 (Java Jackson)
最近遇到一个需求,期望将一个大型的json文件存储至Elasticsearch中,第一反应是期望将原始数据进行拆分,这样就可以在受限的内存空间中完成数据的导入。
![https://static001.geekbang.org/infoq/61/610f061f000495ebcee96895c4d0ed3a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/61/610f061f000495ebcee96895c4d0ed3a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
利用 Jackson 序列化实现数据脱敏
在项目中有些敏感信息不能直接展示,比如客户手机号、身份证、车牌号等信息,展示时均需要进行数据脱敏,防止泄露客户隐私。脱敏即是对数据的部分信息用脱敏符号(*)处理。
![https://static001.geekbang.org/infoq/44/44c71ea3a483d1f1ffb0993b15cf98ab.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/44/44c71ea3a483d1f1ffb0993b15cf98ab.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
Jackson 解决没有无参构造函数的反序列化问题
在对外部代码或项目中明确不能提供无参构造函数的实例进行反序列化时,Jackson 会报找不到构造器的错误提示信息。那么如何在不修改代码的前提下实现反序列呢?
![https://static001.geekbang.org/infoq/fb/fb199027d2d7c54acb35c068b7b4f27b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/fb/fb199027d2d7c54acb35c068b7b4f27b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
再爆安全漏洞,这次轮到 Jackson 了,竟由阿里云上报
Jackson安全漏洞:CVE-2020-24616
![https://static001.geekbang.org/infoq/c7/c71425429be43854e8e25a1d1ff4b46f.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/c7/c71425429be43854e8e25a1d1ff4b46f.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
7. Jackson 用树模型处理 JSON 是必备技能,不信你看
别只会一股脑的String -> POJO了,Jackson优雅灵活的树模型你值得拥有
![https://static001.geekbang.org/infoq/1a/1a8f0cf14783cdd17573fb77e6546373.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/1a/1a8f0cf14783cdd17573fb77e6546373.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
![https://static001.geekbang.org/infoq/f9/f92eaa109442d2995eb8c98f707e2898.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/f9/f92eaa109442d2995eb8c98f707e2898.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
5. JsonFactory 工厂而已,还蛮有料,这是我没想到的
一件事情本身的复杂度并不会凭空消失,而是从一个地方转移到另外一个地方
![https://static001.geekbang.org/infoq/10/101c64b987653a272d49445e14c377db.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/10/101c64b987653a272d49445e14c377db.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
![https://static001.geekbang.org/infoq/22/22dfa501d250d24bf4aa74f2d873d959.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/22/22dfa501d250d24bf4aa74f2d873d959.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
![https://static001.geekbang.org/infoq/b8/b86d1ac87f6d28fef65807716cda1f05.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/b8/b86d1ac87f6d28fef65807716cda1f05.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
2. 妈呀,Jackson 原来是这样写 JSON 的
底层原理,jackson-core核心模块JsonGenerator流式API高效写JSON
![https://static001.geekbang.org/infoq/c0/c01d60681cac7bcd1ac2f9002f11e50e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/c0/c01d60681cac7bcd1ac2f9002f11e50e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
![https://static001.geekbang.org/infoq/2e/2ef3576e859c5fd622fe7d9f5a4188d4.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/2e/2ef3576e859c5fd622fe7d9f5a4188d4.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)
![https://static001.geekbang.org/infoq/c0/c01d60681cac7bcd1ac2f9002f11e50e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234](https://static001.geekbang.org/infoq/c0/c01d60681cac7bcd1ac2f9002f11e50e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234)