我是熟悉Java的前端开发人员 . 对于使用有条不紊的转换而不是JSTL将Java对象转换为JSON,我真的很难提升性能和开发的优缺点 .
我知道通过有条不紊的转换,可以使用额外的一层getter / setter类来保证安全性 - 我也有一个非常大的预感,它只是更快,资源更少,但我找不到任何证据 . 我只能找到JSON库之间的比较 .
我需要详细说明的理由:
-
更严格的安全性 - 我们通过控制JSP中显示的数据来应对
-
更快,更少开销 - 由于缺乏证据而受到抵制
-
更容易标准化 - 由于缺乏灵活性而受到抵制
这是我遇到的一些链接(下图) - 除了比较库之外,我真的在寻找一些可靠的研究 . 此外,如果有人能够向我展示 Jackson 提供的OJM映射的一些可靠的例子 - 那将是非常棒的 .
再一次,我知道这是如此通用 - 但我只是在寻找建议和提出的原因,为什么有条理的比使用JSTL更好 .
1 回答
对于性能,根据大多数公共测量,例如JVM Serializers基准测试,Jackson是常用的快速库 . 您可以自己轻松测试,或者谷歌搜索(Android,Java SE的基准测试) .
Jackson OJM很简单 . 给定对象'ob':
并发症主要来自于处理Java泛型的
Map
,List
(使用TypeReference
);非标准命名约定(使用注释来定义Java属性名称的JSON名称)等 .教程存在,例如:
Jackson Databind(Jackson 2.0 databind的项目页面,README)
Jackson in 5 minutes
大多数主要Java框架正在使用或将使用Jackson进行JSON转换:所有JAX-RS实现(Jersey,RESTeasy,CXF),Restlet(2.0),Play(2.0),SpringMVC . 由于效率和可扩展性,它已成为事实上的标准库,后者对于框架来说是最重要的 . 基于Jackson的JSON处理也被发现与“更快”的二进制格式竞争(这意味着在大多数Web服务案例中切换到使用Thrift,Avro或Protobuf几乎没有收获) .
在替代方案中,GSON也被广泛使用,并且像Jackson一样容易用于数据绑定 .