这是一段json的例子,总得来讲是用json_decode来化成数组并进行操作{
"uri": "baidu",
"method": "POST",
"content_type": "form-data",
"body": {
"global_context_id": "530EC6B6-76D9-44BF-962F-AA8228DC4790",
"dataset_items_log": [
{
"dataset_context_id": "BDDACCD9-C202-426A-B77B-F4ECD4E2344D",
"dataset_id": "881CF71D-232E-41F4-A293-28326BF6FFAC",
"item_events_log": [
{
"item_id": "2BBB5D47-2689-41D9-8067-3D2D4EA67CB4",
"item_context_id": "",
"item_time": "2019-06-26T13:11:17+08:00",
"item_name": "HeartBeat",
"item_data": {
"meeting": "34155105"
}
}
],
"dataset_name": "MeetingEvents"
}
],
"device_id": "da196dc82d54b7acc1700fb6b106662b3f9d294c46706cb23e7be4e60f210454"
}
}我自己写了个函数但是总是有问题function modifyarr(&$jsoncontent,$given_key,$given_code,$given_data)
{ foreach($jsoncontent as $key=>&$value)
{
if($key==$given_key&&(!is_array($value)))
{
$value=array($given_code=>$given_data);
break;
}
elseif($key==$given_key&&(is_array($value)))
{
$value=$value+array($given_code=>$given_data);
break;
}
elseif($key!="default"&&$key!=$given_key&&is_array($value)&&(!is_numeric($key))) {
modifyarr($value,$given_key,$given_code,$given_data);
}
}}
"uri": "baidu",
"method": "POST",
"content_type": "form-data",
"body": {
"global_context_id": "530EC6B6-76D9-44BF-962F-AA8228DC4790",
"dataset_items_log": [
{
"dataset_context_id": "BDDACCD9-C202-426A-B77B-F4ECD4E2344D",
"dataset_id": "881CF71D-232E-41F4-A293-28326BF6FFAC",
"item_events_log": [
{
"item_id": "2BBB5D47-2689-41D9-8067-3D2D4EA67CB4",
"item_context_id": "",
"item_time": "2019-06-26T13:11:17+08:00",
"item_name": "HeartBeat",
"item_data": {
"meeting": "34155105"
}
}
],
"dataset_name": "MeetingEvents"
}
],
"device_id": "da196dc82d54b7acc1700fb6b106662b3f9d294c46706cb23e7be4e60f210454"
}
}我自己写了个函数但是总是有问题function modifyarr(&$jsoncontent,$given_key,$given_code,$given_data)
{ foreach($jsoncontent as $key=>&$value)
{
if($key==$given_key&&(!is_array($value)))
{
$value=array($given_code=>$given_data);
break;
}
elseif($key==$given_key&&(is_array($value)))
{
$value=$value+array($given_code=>$given_data);
break;
}
elseif($key!="default"&&$key!=$given_key&&is_array($value)&&(!is_numeric($key))) {
modifyarr($value,$given_key,$given_code,$given_data);
}
}}
$array_json = json_decode($str_json, true) ;
echo 'uri:'.$array_json['uri'].'<br>global_context_id:'.$array_json['body']['global_context_id'];