猿问

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"

            ]

        }

    ]

}

下面的 rest 调用应该从这个 Json 中得到相应的结果: Get only authors


/authorName/23228232-2dfa232

{

    authorName: [

        "Jone",

        "Mike"

    ]

}

获得平均评分


/popularity/23228232-2dfa232

{

    rating: "1.78"

}

那么,问题是如何使用任何可用的库有效地进行这种转换?正如我上面提到的,我可以简单地使用 Java 中的任何 Json 库并转换 Json,但我不确定这是否有效。


UYOU
浏览 217回答 3
3回答

守着星空守着你

您可以尝试使用 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()

慕无忌1623718

您可以使用 JSON-Java -->&nbsp;https://www.baeldung.com/java-org-json或者 Google JSON,又名 GSON 和此处列出的其他一些 -->&nbsp;https://javarevisited.blogspot.com/2016/09/top-5-json-library-in-java-JEE.html要查看受欢迎程度和使用统计信息,这可能会帮助您选择首先测试哪些: https:&nbsp;//www.baeldung.com/java-json

天涯尽头无女友

您可以使用 GSON,因为它可以轻松地将 JSON 与 POJO 类(尤其是嵌套类)进行映射。对于性能&nbsp;比较的快速参考,
随时随地看视频慕课网APP

相关分类

Java
我要回答