如何向JSON结构中data_question数组的对象添加元素?
解决方法:给JSON数组内的对象添加新字段
没问题,这事儿在PHP里处理起来很简单,我给你一步步说明怎么实现:
步骤1:把JSON字符串转换成PHP数组
首先我们需要将原始的JSON数据转换成PHP能操作的关联数组,用json_decode()函数就行,记得把第二个参数设为true,这样会得到关联数组而不是对象:
// 你的原始JSON数据 $originalJson = '{ "code": 1, "data_question": [ { "id_question": "9", "id_user": "9", "name": "name" } ], "last_page": 1, "count_data": 8 }'; // 转换为PHP关联数组 $phpData = json_decode($originalJson, true);
步骤2:给数组内的对象添加新字段
接下来就是给data_question数组里的每个对象添加age字段。如果你的数组里只有一个元素,直接通过索引访问就行:
// 给第一个元素添加age字段 $phpData['data_question'][0]['age'] = '12';
如果data_question里有多个对象,那就用foreach循环遍历修改(注意要用引用&$item,不然修改的只是副本):
// 遍历所有元素添加age字段 foreach ($phpData['data_question'] as &$item) { $item['age'] = '12'; } // 记得解除引用,避免后续操作出问题 unset($item);
步骤3:把PHP数组转回JSON字符串
最后用json_encode()把修改后的数组转成JSON格式,加上JSON_PRETTY_PRINT参数可以让输出的JSON更美观易读:
// 转换回JSON $updatedJson = json_encode($phpData, JSON_PRETTY_PRINT); // 打印结果 echo $updatedJson;
运行这段代码后,你就能得到想要的JSON结构了:
{
"code": 1,
"data_question": [
{
"id_question": "9",
"id_user": "9",
"name": "name",
"age": "12"
}
],
"last_page": 1,
"count_data": 8
}
内容的提问来源于stack exchange,提问作者ASHafizullah
相关产品推荐
相关产品推荐

