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