Java 如何使用Jackson从netsted JSON解析产品信息?

Java 如何使用Jackson从netsted JSON解析产品信息?,java,json,jackson,Java,Json,Jackson,我可以从API获取产品列表,结果如下: { "request": { "uri":"xxxxx", "time":"xxxx" } "response": { "result": { "productA":

我可以从API获取产品列表,结果如下:

{
    "request": 
            {
                "uri":"xxxxx",
                "time":"xxxx"
            }
    "response":
            {
                "result":
                        {
                            "productA": 
                                    {
                                        "info1":"xxx",
                                        "info2":"xxx"
                                        "info3":"xxx"
                                    },
                            "productB":
                                    {
                                        "info1":"xxx",
                                        "info2":"xxx",
                                        "info3":"xxx"
                                    }
                        },
                "otherinfo":
                        {
                            "xxxx":"xxxx"
                        },
                "error":
                        {
                            "xxxx":"xxxx"
                        }

            }
}
我正在使用Java,我想从“结果”节点获取产品信息,对于每个产品,我需要获取:
1.产品名称(如productA、productB等)
2.产品属性(如info1、info2、info3)
我如何使用Jackson获得这些信息

  • 用Jackson解析整个json
  • 把地图拿回来
  • 访问嵌套地图以获取所需的任何信息
  • 用Jackson解析整个json
  • 把地图拿回来
  • 访问嵌套地图以获取所需的任何信息

  • 你试过什么吗?有代码要显示吗?是的,我试过了,问题是产品的数量不是固定的,它们不是“results”的数组值。如果你想要一个产品列表,我建议修复返回数据的API。你尝试了什么吗?有代码要显示吗?是的,我试过了,问题是产品的数量不是固定的,它们不是“结果”的数组值。如果你想要一个产品列表,我建议修复返回这些数据的API。问题是产品的数量不是固定的,它们不是“结果”的数组值节点
    Map
    具有
    values()
    方法,该方法将返回
    响应中所有值的列表。结果
    Map。它们将是您的产品。或者
    keySet
    对于您的案例中的一组所有键、产品名称。我可以使用JsonNode、path(“result”)方法获取“result”节点,然后,如何将“result”的子节点转换为object?问题是产品的数量不是固定的,它们不是“results”节点的数组值
    Map
    具有
    值()
    method,它将返回
    response.result
    map中所有值的列表。它们将是您的产品。或者
    keySet
    对于一组所有键,您的案例中的产品名称。我可以使用JsonNode,path(“result”)方法来获取“result”节点,然后,如何将“result”的子节点转换为对象?