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

React Native中访问JSON对象数组并提取parcelId值的方法

解决React Native中提取parcels数组里parcelId的问题

嘿,我来帮你搞定这个问题!你遇到的undefined是因为**list.parcels是一个数组,不是单个对象**,直接用list.parcels.parcelId自然拿不到值——数组本身没有parcelId属性,它里面的每一个元素才是包含parcelId的对象。

方法1:提取所有parcelId到一个数组里

如果你只是想把所有parcelId收集成一个数组,可以用数组的map方法遍历parcels,逐个提取:

// 假设你的数据存在list变量里
const list = {"id": "7", "type": "history", "title": "History Parcel Delivery", "sender": "Paul", "price": "635.50", "parcels": [{"parcelId": "12"}, {"parcelId": "14"}]};

// 提取所有parcelId
const parcelIds = list.parcels.map(parcel => parcel.parcelId);
console.log(parcelIds); // 输出: ["12", "14"]

方法2:在React Native组件中渲染每个parcelId

如果是要在组件里展示这些parcelId,可以直接在JSX中用map遍历渲染:

import React from 'react';
import { View, Text } from 'react-native';

const ParcelList = ({ list }) => {
  return (
    <View style={{ padding: 16 }}>
      {list.parcels.map((parcel) => (
        // 注意:React列表渲染需要唯一key,这里用parcelId作为key更合适(因为它是唯一的)
        <Text key={parcel.parcelId} style={{ marginVertical: 4 }}>
          包裹ID: {parcel.parcelId}
        </Text>
      ))}
    </View>
  );
};

export default ParcelList;

为什么之前会返回undefined?

再强调一下:你的JSON结构里parcels是一个数组(用[]包裹),数组里的每一项才是{"parcelId": "12"}这样的对象。所以你必须遍历数组中的每个元素,才能访问到每个元素的parcelId属性,直接对数组本身用.parcelId当然会得到undefined啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:09:40