You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何过滤JSON响应提取符合voidType条件的行程数据?

React Native接口JSON响应过滤实现方案

首先你给出的原始响应JSON示例格式有笔误,外层实际应为数组结构,处理前请先确认接口返回的是合法的JSON数据。

实现逻辑

  • 遍历原始响应的每一条行程条目
  • 用Array.some()方法检查条目下tripLineItemDetails数组是否存在voidType为0的子项,存在则保留该条目
  • 对保留的条目,可按需过滤tripLineItemDetails数组,只保留voidType为0的子项(匹配你给出的输出示例要求)
  • 最后将处理后的条目组装为要求的输出格式即可

完整代码示例

// apiResponse为接口返回、已解析完成的JS数组对象,如果是JSON字符串需要先用JSON.parse()转换
const filterTripData = (apiResponse) => {
  // 筛选符合条件的行程条目
  const filteredTrips = apiResponse.filter(trip => {
    return trip.tripLineItemDetails.some(item => item.voidType === 0)
  }).map(trip => {
    // 过滤条目内的子项,只保留voidType为0的内容,不需要可删除这段map逻辑
    return {
      ...trip,
      tripLineItemDetails: trip.tripLineItemDetails.filter(item => item.voidType === 0)
    }
  })
  // 组装最终输出格式
  return {
    tripDateLineItems: filteredTrips
  }
}

// 调用方法
const finalResult = filterTripData(你的接口返回数据)

补充说明

Array.some()方法找到第一个符合条件的子项就会终止遍历,性能优于全量遍历的Array.filter()判断。如果用axios等请求库,会自动把接口返回的JSON字符串转为JS对象,不需要额外调用JSON.parse()处理。

内容的提问来源于stack exchange,提问作者kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:54:01