如何删除这个 Jason 响应(时间戳、状态、错误、路径)?我只想获取对象数据[重复]

Posted

技术标签:

【中文标题】如何删除这个 Jason 响应(时间戳、状态、错误、路径)?我只想获取对象数据[重复]【英文标题】:How to remove this Jason response(timestamp, status, error, path)? I just want to get object data [duplicate] 【发布时间】:2021-11-01 07:36:45 【问题描述】:

“课程编号”:23, "courseName": "科学", “课程代码”:“SC100”, "courseDescription": "线性代数", "courseDuration": "6 m", “创建日期”:1630438611000, “更新日期”:空, “删除图像”:[] “时间戳”:1630614081354, “状态”:200, “错误”:“确定”, “路径”:“/api/editcourse/23”

【问题讨论】:

【参考方案1】:

我会使用 Jackson Project 来完成该任务。

备选方案 1

由于您在同一个 Json 中有 2 个值并且您只想要第一个,因此您可以使用来自 ObjectMapper 类的 readTree(String) 方法。它将跳过第二个值。

ObjectMapper mapper = new ObjectMapper();

JsonNode jsonNode = mapper.readTree(jsonResponse);

System.out.println(jsonNode.toPrettyString());

输出:


  "courseId" : 23,
  "courseName" : "science",
  "courseCode" : "SC100",
  "courseDescription" : "linear algebra",
  "courseDuration" : "6 m",
  "createdDate" : 1630438611000,
  "updatedDate" : null,
  "removeImages" : [ ]

备选方案 2

使用readValues(JsonParser, Class<T>) 方法,您可以读取所有值并进行迭代,只选择您需要的值。

ObjectMapper mapper = new ObjectMapper();

Iterator<?> iterator = mapper.readValues(new JsonFactory().createParser(jsonResponse), Map.class);

Object object = iterator.next();

System.out.println(object);

输出:

courseId=23, courseName=science, courseCode=SC100, courseDescription=linear algebra, courseDuration=6 m, createdDate=1630438611000, updatedDate=null, removeImages=[]

【讨论】:

谢谢@Oboe。这很有帮助。

以上是关于如何删除这个 Jason 响应(时间戳、状态、错误、路径)?我只想获取对象数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

打印日志查看调接口时间

Service Fabric - 如何修复失败的有状态应用程序

如何返回带有错误响应的 Http 状态行?

如何在反应中设置来自axios的响应状态

苹果平板的challenge时间戳错误怎么办?

响应 JSON 错误 - 使用 Eloquent 时不支持类型