【问题标题】:Parsing json with list<Map<String, Integer>>使用 list<Map<String, Integer>> 解析 json
【发布时间】:2022-09-23 14:04:28
【问题描述】:

我有一个这样的 JSON

\"tags\": [
                    {
                        \"key\": \"category\",
                        \"value\": \"Prototype Pollution\"
                    },
                    {
                        \"key\": \"cvss_31_severity_rating\",
                        \"value\": \"medium\"
                    },
                    {
                        \"key\": \"cvss_score\",
                        \"value\": \"4\"
                    },
                    {
                        \"key\": \"cwe_category\",
                        \"value\": \"1321\"
                    },
                    {
                        \"key\": \"language\",
                        \"value\": \"javascript\"
                    },
                    {
                        \"key\": \"owasp_2021_category\",
                        \"value\": \"a03-injection\"
                    },
                    {
                        \"key\": \"owasp_category\",
                        \"value\": \"a03-2021-injection\"
                    },
                    {
                        \"key\": \"owasp_category\",
                        \"value\": \"a1-injection\"
                    },
                    {
                        \"key\": \"severity\",
                        \"value\": \"moderate\"
                    },
                    {
                        \"key\": \"sink_method\",
                        \"value\": \"Object.assign\"
                    },
                    {
                        \"key\": \"source_method\",
                        \"value\": \"^axios^.post\"
                    }
                ],

我想获取与“key”对应的值:cvss_score。我试着捡起一个

list<Map<String, Integer>> map =response.getBody.jsonPath.getList(\"tags\");

但无法正确解析,有人可以告诉我如何正确解析

  • 不应该是List&lt;Map&lt;String, String&gt;&gt;吗? Map 值在响应中始终为 String。

标签: java json parsing jsonparser


【解决方案1】:

如果您使用 Genson,则有一个将 JSON 解析为纯 Java 集合的示例,这与您提到的非常接近:

http://genson.io/GettingStarted/#java-collections

本质上,您的代码如下所示:

Genson genson = new Genson();
List<Object> persons = genson.deserialize("[{\"age\":28,\"name\":\"Foo\"}]", List.class);

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2022-09-30
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多