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

如何在foreach循环中提取嵌套对象networks下的ssid值?

没问题,我来帮你搞定这个需求!首先得先修正你这段JSON里的语法错误,不然解析的时候会报错:

  • 键名0、1最好用引号包裹(标准JSON要求键必须是字符串)
  • 第二个ssid的值jkl少了开头的双引号
  • 第一个对象里的rssi":"test",多了末尾的逗号

修正后的标准JSON

{"networks":{ "0": { "ssid":"asdf", "rssi":"test" }, "1": { "ssid":"jkl", "rssi":"fubar" } }}

下面给你两种常用语言的foreach循环实现示例:


PHP 实现方式

<?php
// 解析修正后的JSON字符串为关联数组
$jsonStr = '{"networks":{ "0": { "ssid":"asdf", "rssi":"test" }, "1": { "ssid":"jkl", "rssi":"fubar" } }}';
$networkData = json_decode($jsonStr, true);

// 遍历networks下的所有子对象
foreach ($networkData['networks'] as $key => $item) {
    // 提取并输出ssid值
    echo "编号{$key}的SSID:{$item['ssid']}\n";
}
?>

运行后输出:

编号0的SSID:asdf
编号1的SSID:jkl

JavaScript 实现方式

// 如果是JSON字符串,先通过JSON.parse解析为对象
const networkData = JSON.parse('{"networks":{ "0": { "ssid":"asdf", "rssi":"test" }, "1": { "ssid":"jkl", "rssi":"fubar" } }}');

// 方式一:遍历键名获取对应对象
for (const key in networkData.networks) {
    const ssid = networkData.networks[key].ssid;
    console.log(`编号${key}的SSID:${ssid}`);
}

// 方式二:直接遍历对象值(不需要键名时更简洁)
Object.values(networkData.networks).forEach((item, index) => {
    console.log(`编号${index}的SSID:${item.ssid}`);
});

控制台输出:

编号0的SSID:asdf
编号1的SSID:jkl

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:38:51