本想设计的复杂一点,但是,我觉得满足低于 20K 大小的 JSON 串,基本就足够了。另外,大的 JSON 十分少见,哪怕出现这种情况,这个库的性能也还不错。所以,根本没必要搞一个十分巨大的解析器。
1
bobox 3 天前
json 反序列化可不是闹着玩的,稍不小心就是远程漏洞。
|
2
stinkytofux 3 天前
阿里的 FastJson 都迭代过多少版本了, 曾经爆出了无数的高危漏洞, 这玩意可不是那么好写的, 性能得排在安全后面.
|
3
werls 3 天前 ![]() 为什么不用 Gson ,还有发错节点了,应该放在推广节点。
|
![]() |
4
wxw752 3 天前 ![]() 都用 Java 了,我还怕包大吗
|
![]() |
5
HuKing 3 天前
FastJson2 已经很好用了
|
![]() |
6
chendy 3 天前 ![]() 看得出来楼主很想推广 tinystruct ,但是我们写 Java 的最不缺的就是这类东西
好不好,可能好 用不用,不可能用 |
![]() |
7
wangtian2020 3 天前 ![]() 每次看到这种东西只会让我觉得 2025 年了 Java 基础设施还没建好
|
![]() |
8
y1y1 3 天前
今夕是何年
|
![]() |
9
spike0100 3 天前
fastjson 、jackson 包那么大是有原因的。
|
![]() |
10
NotFoundEgg 3 天前
json 这种真没人敢乱用,我们之前用了几年 fastjson ,最近改成了 jackson ,改得吐血
|
11
layxy 3 天前
目前主流应该是 jackson,国内 fastjson 比较多一些,只不过 fastjson 漏洞太多了, fastjson2 个人项目使用了,但是公司现在不推荐使用 fastjson 了,我感觉 fastjson 的使用方式更方便一些
|
![]() |
12
twofox 3 天前
我放着 jackjson 不用是为了什么呢
|
![]() |
13
a1274598858 3 天前
@twofox #12 没苦硬吃😂
|
![]() |
14
happypy1 3 天前
2025 年了,还有人在重复造 json 反序列化的轮子?
|
![]() |
15
0312birdzhang 3 天前
Java 世纪难题之——json 反序列化
|
![]() |
16
dajj 3 天前
json 用 Gson 就好了, 完美
|
![]() |
18
zficode 3 天前
大聪明
|
![]() |
19
fors 3 天前
|
![]() |
20
HojiOShi 3 天前 ![]() @chendy #6 我看 lz 上一个帖子我就想吐槽了,2025 年还在出 java web 框架是怎么想的?如果放在十年前,还可以像 jfinal 那样吃一下 spring 留下的剩饭。
|
![]() |
21
mystical 3 天前
|
![]() |
22
4ra1n 3 天前 ![]() fastjson 有漏洞是因为反序列化太自由了,拓展性太强了
如果,你只允许,json 反序列化到 hashmap arraylist 自己从 hashmap 里一个个的 get k/v 设置 entity 属性,没有漏洞。fastjson 是允许自动反序列化到指定的 entity/pojo 类,而不是从 hashmap 手动搞过去,自动导致的漏洞。 漏洞的核心是,自动类型推断和实例化,自动调用 getter/setter |
24
macaodoll 3 天前
LocalDateTime 这些处理好了吗
|
![]() |
25
dog82 3 天前
xml 表达能力那么强,为啥被 json 偷家了,简直就是劣币驱逐良币
|
26
jiazhutianxiadiy 3 天前 via Android
@dog82 不知道好在什么地方。你可以列出下
|
28
CodeCodeStudy 3 天前
为什么 javascript ,php 一个函数就搞定 json 了,是因为他们是动态语言吗
|
29
aarontian 3 天前
@dog82 xml 冗余太多了,一个简单的对象编码出来巨大无比,解析慢,可读性差。除了表达能力强以外几乎一无是处。至于需要它表达能力的场景,用就是了。
我最喜欢 yaml ,比起嵌 json 的各种转义,可读性太好了,就是解析性能好像弱点,作为配置文件无可替代 |
30
cobbage 3 天前 via Android
@dog82 简单。之前看了一个视频说 xml 之前是官方推荐的正统。但是我感觉 xml 还是有用武之地的,也不知道是软件老的原因,页面傻瓜式布局的;数据传输基本没了。
|
31
moverinfo OP 感谢各位的 comments ,我认为没有对错,也没有敌意,喜欢这样的氛围。我准备另开一贴把我设计这个框架的历史分享给大家,这样或许你们可以看到它的不同之处。V2ex 是个不错的论坛,这里大家可以自由表达自己的想法,非常好!
|
![]() |
32
Mandelo 3 天前
你的这个工具有什么闪光点?对比 fastjson ,gson ?
|
33
vultr 2 天前
不要给程序员做工具,不值得。
|
![]() |
34
msg7086 2 天前
自己用当然随便撸一个就好,你要推广给别人用,那首先测试用例得狠狠加料。
|
35
lakernote 2 天前
自推自己的项目
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 |
![]() |
36
siweipancc 2 天前 via iPhone
你应该造个 js 的,这边不是娱乐圈
|
![]() |
37
montaro2017 2 天前
@HuKing #5 还敢用 fastjson
|
39
visper 1 天前
听说现在网页开发都会使用 ajax 这种技术来进行页面局部刷新来增强用户体验。
|
![]() |
40
CodeCaster 1 天前
看了 github 的项目,其中有提到模块化,方便交流一下么(方便的话,可以加一下我 wechat:jiyujie )?我这边做了一个插件化的开发框架( https://github.com/ModelEngine-Group/fit-framework ),上层搭载 AI 框架,同在推广求 star 中,感觉可以交流一下技术,感谢
|
41
moverinfo OP 我看过,个人感觉设计层面跟 Spring boot 比较接近,也可能我有点以偏概全了,有空我再仔细看看。别介意哈。如果对模块化设计感兴趣的话可以参见 tinystruct 项目代码。
|
![]() |
42
CodeCaster 17 小时 53 分钟前
@moverinfo #41 你好,我发现你的回复都没有点击平台的回复,这样的话,别人都是不知道你回复了的,是没有提示的。我是特意关注了下,找了下之前的留言,才发现你的回复的。首先感谢能够得到回复。
然后,我也很高兴你可过我的项目(因为没有回复,我不确定是不是理解有错),之所以我比较感兴趣,就是因为你的框架也有模块化的特点,但是,模块化 != 插件化。 模块化,我们当前用任意框架写的代码,比如 Spring ,我也可以创建若干个 Module (模块),然后通过一个核心模块的 pom 来组织各个其他模块,这样也是分模块的。因为我看不到你的项目的整体架构图,所以我对此只能先交流来慢慢了解。 插件化,我实现的插件化和模块化的最大区别是没有 pom 的依赖,我不确定你的框架是不是如此。插件与插件之间的交互都通过接口来实现,因此,插件的业务逻辑不随插件的部署状态而改变,意思是,在 FIT 框架下,插件 A 和插件 B 可以作为一个 Mono (单体)服务聚合启动,同进程,此时,他们的通信为本地方法通信,他们也可以分别作为两个微服务分别启动,两个进程,此时他们的通信为 RPC 通信,但是插件的代码是完全不感知的。这个就是 FIT 框架的最大特点,支持插件的聚散部署,在此基础上,我用插件写了一个热插拔的插件,使得整个体系也支持了插件的热插拔。 也就是说,FIT 框架的设计是和 Spring 有比较大的区别的,但是和你说的模块化比较接近,正因为这个原因,所以我才想和你再多交流一下。感谢 PS:我看到你的项目之后,先点了一个 Star 支持了一下了 |