首页 > 解决方案 > PHP - 使用多个对象编辑 JSON 数组中的特定值

问题描述

我正在尝试编辑具有多个对象数组的 JSON 文件。

JSON 示例:

$json = '{
  "MyContent": [
    {
      "I": 1,
      "A": 123,
      "B": 321,
      "ATxt": "Text (A) 1",
      "BTxt": "Text (B) 1"
    },
    {
      "I": 2,
      "A": 13,
      "B": 31,
      "ATxt": "Text (A) 2",
      "BTxt": "Text (B) 2"
    },
    {
      "I": 3,
      "A": 3,
      "B": 4,
      "ATxt": "Text (A) 3",
      "BTxt": "Text (B) 3"
    }
  ]
}';

我正在尝试递增每个“A”和“B”值,然后将其转换回 JSON 格式。

我已经尝试过:

$decoded_json = json_decode($json);
$objects = $data->{'MyContent'};
foreach ($objects as $object)
    {
        foreach ($object as $key => $value)
        {
            if ($key == "A" || $key == "B")
            {
                $value = $value + 1;
            }
        }
    } 
$encoded_json = json_encode($objects);
echo $encoded_json;

$encoded_json 的输出仍然相同。“A”和“B”值没有改变。

标签: phparraysjsonobjectdecode

解决方案


推荐阅读