如何使用PHP更新/编辑JSON文件

50

这是我的JSON

[
   {
      "activity_code":"1",
      "activity_name":"FOOTBALL"
   },
   {
      "activity_code":"2",
      "activity_name":"CRICKET"
   }
]

我需要根据 activity_code{"activity_code":"1","activity_name":"FOOTBALL"} 更新为 {"activity_code":"1","activity_name":"TENNIS"}

我该如何在 PHP 中实现这个需求?

1个回答

107

首先,您需要解码它:

$jsonString = file_get_contents('jsonFile.json');
$data = json_decode($jsonString, true);

然后修改数据:

$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
    if ($entry['activity_code'] == '1') {
        $data[$key]['activity_name'] = "TENNIS";
    }
}
然后重新编码并将其保存回文件中:
$newJsonString = json_encode($data);
file_put_contents('jsonFile.json', $newJsonString);

在这里,'$data[1]'中的1代表节点值还是活动代码? - user475464
我已经更正了,$data[0] 实际上是 {"activity_code":"1","activity_name":"足球"} - Brewal
我需要基于代码进行操作,例如 {"activity_code":"TG3","activity_name":"FOOTBALL"}。在这种情况下,我需要将 ACTIVITY_CODE - TG3 更新为 TENNIS。 - user475464
这是 sql!看我的修改 :) - Brewal
我问你,类似于$data['activity_name'='TG3']['activity_name'] = "TENNIS";这样的东西是否可能? - user475464
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接