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

如何仅保存JSON中的ID与标题字段到文件?PHP技术咨询

提取JSON中的指定字段保存到文件

嗨,这事儿好办!你现在的代码是直接把API返回的完整JSON存到文件里,要只保留ID和标题的话,只需要先把JSON解析成PHP数组,提取你需要的字段,再重新编码成JSON写入文件就行。

下面是修改后的代码,我给你加了注释说明关键步骤:

<?php
// 1. 从API获取JSON数据
$jsonData = file_get_contents('https://ghibliapi.herokuapp.com/films');

// 检查是否成功获取数据
if ($jsonData === false) {
    die("无法获取API数据!");
}

// 2. 把JSON解码为PHP关联数组
$films = json_decode($jsonData, true);

// 检查解码是否成功
if ($films === null) {
    die("JSON解码失败!");
}

// 3. 遍历数组,只提取需要的id和title字段
$filteredFilms = [];
foreach ($films as $film) {
    // 确保每个条目都有id和title字段(可选的安全检查)
    if (isset($film['id'], $film['title'])) {
        $filteredFilms[] = [
            'id' => $film['id'],
            'title' => $film['title']
        ];
    }
}

// 4. 把过滤后的数组重新编码为JSON,用PRETTY_PRINT让格式更易读
$filteredJson = json_encode($filteredFilms, JSON_PRETTY_PRINT);

// 5. 写入文件
$myfile = fopen("yes.json", "w") or die("无法打开文件!");
fwrite($myfile, $filteredJson);
fclose($myfile);

echo "文件已成功保存,仅包含ID和标题字段!";
?>

关键说明:

  • json_decode($jsonData, true):把JSON字符串转成PHP的关联数组,方便我们操作里面的字段
  • 遍历数组时做了isset检查:避免API返回的条目里缺少字段导致报错,让代码更健壮
  • JSON_PRETTY_PRINT:生成的JSON会有缩进,看起来更整洁,如果你不需要可以去掉这个参数

这样运行后,yes.json里就只会有每个电影的ID和标题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:57:28