java - 高性能的java中的Json转换
问题描述
我需要根据作为 Rest 请求一部分的参数将一个 Json 转换为另一个 Json。该服务是用 Java 开发的。我知道,Jackson API 可以轻松使用,并且还有一些库可用。但我的要求是尽可能快地使用新 Json 传递响应。如果可以给我几个选项,我可以衡量这些选项的性能。
假设我在数据存储中有这个 Json:
{
"bookId": "23228232-2dfa232",
"bookName": "Json Transformation",
"bookPublisher": "Tech Publication",
"bookRating": [
{
"source": "All book rank",
"maxRating": "10",
"rating": "3.4"
},
{
"source": "Tech Books",
"maxRating": "5",
"rating": "2"
},
{
"source": "Popular",
"maxRating": "3",
"rating": "1"
}
],
"bookAuthor": [
{
"name": "Jone",
"specialities": [
"Json",
"Javascript",
"Typescript",
"nodejs"
]
},
{
"name": "Mike",
"specialities": [
"Java",
"Spring",
"ElasticSearch"
]
}
]
}
下面的其余调用应该有来自这个 Json 的相应结果:Get only authors
/authorName/23228232-2dfa232
{
authorName: [
"Jone",
"Mike"
]
}
获得平均评分
/popularity/23228232-2dfa232
{
rating: "1.78"
}
那么,问题是如何使用任何可用的库有效地进行这种转换?正如我上面提到的,我可以简单地使用 Java 中的任何 Json 库并转换 Json,但我不确定这是否有效。
解决方案
您可以使用 GSON,因为它可以轻松地将 JSON 与 POJO 类(尤其是嵌套类)进行映射。对于性能 比较的快速参考,
推荐阅读
- android - 在 Android Studio 的编辑器左侧显示 git 更改
- c - 即使我添加了显式类型转换,Clang 优化也会改变 C 中的计算结果
- javascript - 通过翻阅单词动态更改文本
- twilio - twilio 获取排队调用的自定义参数
- r - 如何在 R 中的函数中添加自定义错误消息
- python-3.x - 如何在处理rasa中的按钮时禁用用户输入?
- python - 如何修复我的类代码“int”对象错误?
- python - 从 UTC 转换到 Python 中的任何其他时区后如何获取确切时间?
- c# - 引用不经意的代码时,可空引用类型静默失败?
- c++ - 在 pkg-config 和 cmake 找不到介子中声明库依赖项