php - 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”值没有改变。
解决方案
推荐阅读
- visual-studio-code - 用于启动/重启的单个 VS Code 快捷方式
- javascript - 将数组中的所有重复值推送到新数组
- logging - spring-cloud-data flow:如何将流日志发送到 kibana?
- docker - 错误 - 绑定失败:地址已在使用中
- regex - 使用正则表达式从带有 Google BigQuery 的 URL 中提取产品名称
- gunicorn - FastAPI Gunicorn Uvicorn 使用 Google Cloud Run 进行生产部署(压力测试)
- bash - '[m' 是什么意思,在这个表达式中如何去掉它?
- c# - 几秒钟后在循环中循环时,相同的瀑布步骤在 MS Teams 的 ms bot 框架中被调用了两次,但未在(Bot Emulator)上调用
- jquery - jQuery:从孩子那里获取并使用 ID 隐藏
- docker - SONiC 需要 Docker 版本 17.06.1 或更高版本