如何使用PHP更新/编辑JSON
请帮帮我 JSON: 如何从更新嵌套对象中的值如何使用PHP更新/编辑JSON,php,json,Php,Json,请帮帮我 JSON: 如何从更新嵌套对象中的值 "2":{ "TchID":"G141843", "TchData":{ "TchID":"G141843", "TchNama":"G141843", "TchPassword":22932450 } }
"2":{
"TchID":"G141843",
"TchData":{
"TchID":"G141843",
"TchNama":"G141843",
"TchPassword":22932450
}
}
到
在php脚本中
你看,我想把TchNama:G141843改成TchNama:Alex J
这是我的密码
<?php
$data = '{"1":{"TchID":"G303992","TchData":{"TchID":"G303992","TchNama":"G303992","TchPassword":43511824}},"2":{"TchID":"G141843","TchData":{"TchID":"G141843","TchNama":"G141843","TchPassword":22932450}}}';
$guru = json_decode($data);
foreach ($guru as $items){
if($items['TchID'] == 'G303992'){
// i dont know how to change $items['TchData']['TchNama'] = 'G141843' to 'Alex J'
$viewchange = json_encode($guru);
echo $viewchange;
}
}
?>
请试试这个
$data = '{"1":{"TchID":"G303992","TchData":{"TchID":"G303992","TchNama":"G303992","TchPassword":43511824}},"2":{"TchID":"G141843","TchData":{"TchID":"G141843","TchNama":"G141843","TchPassword":22932450}}}';
$guru = json_decode($data);
var_dump($guru);
foreach ($guru as $items) {
if ($items->TchID == 'G141843') {
$items->TchData->TchNama = "Alex J";
}
}
var_dump($guru);
$viewchange = json_encode($guru);
echo $viewchange;
请试试这个
$data = '{"1":{"TchID":"G303992","TchData":{"TchID":"G303992","TchNama":"G303992","TchPassword":43511824}},"2":{"TchID":"G141843","TchData":{"TchID":"G141843","TchNama":"G141843","TchPassword":22932450}}}';
$guru = json_decode($data);
var_dump($guru);
foreach ($guru as $items) {
if ($items->TchID == 'G141843') {
$items->TchData->TchNama = "Alex J";
}
}
var_dump($guru);
$viewchange = json_encode($guru);
echo $viewchange;
您可以使用json_encode$,TRUE将json字符串转换为数组对象 然后,如果通过数组\ U键获得键,则可以循环对象的键 然后,您可以使用单独的变量来迭代主要对象属性并更改该对象,或者直接访问主要对象并在源位置进行更改,这就是我在下面所做的:
$data = '{"1":{"TchID":"G303992","TchData":{"TchID":"G303992","TchNama":"G303992","TchPassword":43511824}},
"2":{"TchID":"G141843","TchData":{"TchID":"G141843","TchNama":"G141843","TchPassword":22932450}}}';
$guru = json_decode($data, true);
$keys = array_keys($guru);
foreach ($keys as $key) {
if($guru[$key]['TchID'] == 'G303992'){
$guru[$key]["TchNama"] = "Alex J";
}
}
$viewchange = json_encode($guru);
echo $viewchange;
您可以使用json_encode$,TRUE将json字符串转换为数组对象 然后,如果通过数组\ U键获得键,则可以循环对象的键 然后,您可以使用单独的变量来迭代主要对象属性并更改该对象,或者直接访问主要对象并在源位置进行更改,这就是我在下面所做的:
$data = '{"1":{"TchID":"G303992","TchData":{"TchID":"G303992","TchNama":"G303992","TchPassword":43511824}},
"2":{"TchID":"G141843","TchData":{"TchID":"G141843","TchNama":"G141843","TchPassword":22932450}}}';
$guru = json_decode($data, true);
$keys = array_keys($guru);
foreach ($keys as $key) {
if($guru[$key]['TchID'] == 'G303992'){
$guru[$key]["TchNama"] = "Alex J";
}
}
$viewchange = json_encode($guru);
echo $viewchange;
将修改后的数组重新编码为JSON并在循环后输出。当然,将修改后的数组重新编码为JSON并在循环后输出它。@my0940确定吗?我在这里测试过:@my0940你确定吗?我在这里测试过: