发现大多数的 Java 项目, JSON 已经是一个十分常用的格式。写了一个十分精简的解析器。

5 天前
 moverinfo

本想设计的复杂一点,但是,我觉得满足低于 20K 大小的 JSON 串,基本就足够了。另外,大的 JSON 十分少见,哪怕出现这种情况,这个库的性能也还不错。所以,根本没必要搞一个十分巨大的解析器。

https://github.com/tinystruct/tinystruct/blob/master/src/main/java/org/tinystruct/data/component/Builder.java

6706 次点击
所在节点    程序员
42 条回复
mystical
5 天前
练练手挺好的。真正项目上,还是用现成的吧,这玩意坑确实多。

另外,fastjson 是不是使用了太内核的东西,一个 json 序列化怎么这么多恐怖的漏洞(没看过远吗,也很少用。个人用 Gson 多)
@bobox
@layxy
4ra1n
5 天前
fastjson 有漏洞是因为反序列化太自由了,拓展性太强了

如果,你只允许,json 反序列化到 hashmap arraylist 自己从 hashmap 里一个个的 get k/v 设置 entity 属性,没有漏洞。fastjson 是允许自动反序列化到指定的 entity/pojo 类,而不是从 hashmap 手动搞过去,自动导致的漏洞。

漏洞的核心是,自动类型推断和实例化,自动调用 getter/setter
cheng6563
5 天前
@mystical 主要就是自动类型推断,比如把类型用"@type"直接写到字段上
macaodoll
5 天前
LocalDateTime 这些处理好了吗
dog82
5 天前
xml 表达能力那么强,为啥被 json 偷家了,简直就是劣币驱逐良币
jiazhutianxiadiy
5 天前
@dog82 不知道好在什么地方。你可以列出下
chendy
5 天前
@dog82 因为表达能力过于强了,平时根本不需要这么复杂的东西,JSON 主要赢在一个简单
CodeCodeStudy
5 天前
为什么 javascript ,php 一个函数就搞定 json 了,是因为他们是动态语言吗
aarontian
5 天前
@dog82 xml 冗余太多了,一个简单的对象编码出来巨大无比,解析慢,可读性差。除了表达能力强以外几乎一无是处。至于需要它表达能力的场景,用就是了。

我最喜欢 yaml ,比起嵌 json 的各种转义,可读性太好了,就是解析性能好像弱点,作为配置文件无可替代
cobbage
5 天前
@dog82 简单。之前看了一个视频说 xml 之前是官方推荐的正统。但是我感觉 xml 还是有用武之地的,也不知道是软件老的原因,页面傻瓜式布局的;数据传输基本没了。
moverinfo
5 天前
感谢各位的 comments ,我认为没有对错,也没有敌意,喜欢这样的氛围。我准备另开一贴把我设计这个框架的历史分享给大家,这样或许你们可以看到它的不同之处。V2ex 是个不错的论坛,这里大家可以自由表达自己的想法,非常好!
Mandelo
5 天前
你的这个工具有什么闪光点?对比 fastjson ,gson ?
vultr
4 天前
不要给程序员做工具,不值得。
msg7086
4 天前
自己用当然随便撸一个就好,你要推广给别人用,那首先测试用例得狠狠加料。
lakernote
4 天前
自推自己的项目
EasyPostman 🚀 一款高仿 Postman + 简易版 JMeter 的开源接口调试与压测工具,专为开发者优化,界面简洁、功能强大。
🌟 GitHub: https://github.com/lakernote/easy-postman
🏠 Gitee: https://gitee.com/lakernote/easy-postman
📦 安装包下载地址: https://gitee.com/lakernote/easy-postman/releases
🍏 Mac(M 芯): EasyPostman-最新版本.dmg
🪟 Windows: EasyPostman-最新版本.msi
siweipancc
4 天前
你应该造个 js 的,这边不是娱乐圈
montaro2017
4 天前
@HuKing #5 还敢用 fastjson
ychost
4 天前
@dog82 XML 更适合大模型,且解析容错性高
visper
3 天前
听说现在网页开发都会使用 ajax 这种技术来进行页面局部刷新来增强用户体验。
CodeCaster
3 天前
看了 github 的项目,其中有提到模块化,方便交流一下么(方便的话,可以加一下我 wechat:jiyujie )?我这边做了一个插件化的开发框架( https://github.com/ModelEngine-Group/fit-framework ),上层搭载 AI 框架,同在推广求 star 中,感觉可以交流一下技术,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1157910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX