程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 Jackson 将 JSON 字符串解析为数组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 Jackson 将 JSON 字符串解析为数组?

开发过程中遇到使用 Jackson 将 JSON 字符串解析为数组的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 Jackson 将 JSON 字符串解析为数组的解决方法建议,希望对你解决使用 Jackson 将 JSON 字符串解析为数组有所启发或帮助;

我收到以下 JsON 响应:

shift@H_301_4@

我想要以下输出:

[
{
    "name": "Assets","ID": "assets---0020","elements": [
        {
            "name": "user generates an token","steps": [
            {
                "name": "I have generated a common access token","result": {
                    "duration": 1124800,"status": "passed"
                }                    
            }
            ]
        },{
            "name": "user generates an token","steps": [
            { 
                "name": "I have generated a common access token",{
            "name": "User clicks on dropdown","steps": [
            {
                "name": "User clicks on dropdown and SELEcts option and API response printed","status": "Failed"
                }
            }
            ]
        }
    ]    
}
]
@H_301_4@

我一直试图用 Jackson 自动解析它,但几乎没有成功。我能够显示:

name: Assets
@R_837_10586@l - 3
No Of success - 2
No Of Failed - 1
@H_301_4@

以下是我的主要 Java 类的代码:

name: Assets 
@H_301_4@

但没有了解如何循环元素并从中获取所需的数据。 有谁知道解决方案是什么?请帮忙。

解决方法

点击此链接 jsonscheR_159_11845@a2pojo 并粘贴您的 JSON 代码。输入文件和包的名称,然后选择单选按钮 JSONjackson 2.x。点击预览并复制模态窗口中显示的代码。

截图

使用 Jackson 将 JSON 字符串解析为数组

,

所以你有一个 JSON 对象列表(在问题中这个列表只包含一个元素)并且你已经定义了 Data 类可以映射这个单个 json 对象,对吗?

在这种情况下,这个问题实际上是关于如何使用 jackson 解析对象列表:

这是一个答案:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.objectMapper;

...
String str = "...";
List<Data> dataList = objectMapper.readValue(str,new TypeReference<List<Data>>(){});
,

执行此 Data[] datas = mapper.readValue(new File("sample_json_file.json"),Data[].class); 然后循环。

大佬总结

以上是大佬教程为你收集整理的使用 Jackson 将 JSON 字符串解析为数组全部内容,希望文章能够帮你解决使用 Jackson 将 JSON 字符串解析为数组所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。