为了账号安全,请及时绑定邮箱和手机立即绑定

java中高性能的Json转换

java中高性能的Json转换

UYOU 2023-03-09 10:12:52
我需要根据作为 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"            ]        }    ]}下面的 rest 调用应该从这个 Json 中得到相应的结果: Get only authors/authorName/23228232-2dfa232{    authorName: [        "Jone",        "Mike"    ]}获得平均评分/popularity/23228232-2dfa232{    rating: "1.78"}那么,问题是如何使用任何可用的库有效地进行这种转换?正如我上面提到的,我可以简单地使用 Java 中的任何 Json 库并转换 Json,但我不确定这是否有效。
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以尝试使用 little json java library 来搜索 json 数据。


JsonValue json = JsonParser.parse(stringvariablewithjsondata);

List<JsonValue> authors = json.findAll(SPM.path("bookAuthor", "name")));

List<String> ratings = json.findAllLiterals(SPM.path("bookRating", "rating")));

并计算结果


JsonArray values = JsonFactory.array();

for(JsonValue value : authors) values.add(value);

JsonObject result = JsonFactory.object().add("authorName", values);

return result.toCompactString()


查看完整回答
反对 回复 2023-03-09
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

您可以使用 JSON-Java --> https://www.baeldung.com/java-org-json

或者 Google JSON,又名 GSON 和此处列出的其他一些 --> https://javarevisited.blogspot.com/2016/09/top-5-json-library-in-java-JEE.html

要查看受欢迎程度和使用统计信息,这可能会帮助您选择首先测试哪些: https: //www.baeldung.com/java-json


查看完整回答
反对 回复 2023-03-09
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您可以使用 GSON,因为它可以轻松地将 JSON 与 POJO 类(尤其是嵌套类)进行映射。对于性能 比较的快速参考,


查看完整回答
反对 回复 2023-03-09
  • 3 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号