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

React Native中访问内层数组:如何获取JSON里的localId值?

嘿,这事儿挺简单的,咱们来拆解一下你的数据结构,然后一步步拿到localId的值就行~

首先先提一句你给的JSON里有个小语法错误("nameRu": "Привет""这里多了个闭合双引号),不过咱们先假设数据已经是正确的JS对象(如果是从接口拿到的JSON字符串,记得先用JSON.parse()转成对象)。

情况1:确定数组只有单个元素(像你示例里的结构)

如果能确定orderGroupByBin和orderGroupByAccount数组里都只有一个元素,直接链式访问就行:

// 假设你的解析后的数据存在变量data里
const data = {
  orderGroupByBin: [
    {
      buyerBin: "7401",
      buyerCompanyName: { nameRu: "Привет" },
      orderGroupByAccount: [
        { internalAccountId: 4523642387, localId: 85352311765 }
      ]
    }
  ]
};

const localId = data.orderGroupByBin[0].orderGroupByAccount[0].localId;
console.log(localId); // 输出 85352311765

情况2:数组可能有多个元素,要获取所有localId

如果数组里可能有多个条目,想要收集所有的localId,可以用数组的flatMap和map方法:

const allLocalIds = data.orderGroupByBin.flatMap(binEntry => 
  binEntry.orderGroupByAccount.map(accountEntry => accountEntry.localId)
);
console.log(allLocalIds); // 示例中会输出 [85352311765],多条目时会列出所有

安全访问:避免因数据缺失报错

实际开发中,接口返回的数据可能和预期不一致(比如数组为空、属性缺失),这时候可以用**可选链操作符(?.)**来安全访问,避免程序崩溃:

// 如果某个环节不存在,结果会是undefined,不会抛出错误
const safeLocalId = data?.orderGroupByBin?.[0]?.orderGroupByAccount?.[0]?.localId;

React Native完全支持ES6+的这些语法,直接用就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:41:00