猿问

在PHP中合并两个JSON

我有两个json


第一个是


    [{"COLUMN_NAME":"ORDER_NO","COLUMN_TITLE":"Order Number"}

,{"COLUMN_NAME":"CUSTOMER_NO","COLUMN_TITLE":"Customer Number"}]

第二个是


[{"COLUMN_NAME":"ORDER_NO","DEFAULT_VALUE":"1521"},

{"COLUMN_NAME":"CUSTOMER_NO","DEFAULT_VALUEE":"C1435"}]

我想合并它们并有一个像


[{"COLUMN_NAME":"ORDER_NO","COLUMN_TITLE":"Order Number","DEFAULT_VALUE":"1521"}

,{"COLUMN_NAME":"CUSTOMER_NO","COLUMN_TITLE":"Customer Number","DEFAULT_VALUEE":"C1435"}]

有没有办法合并它们?如果需要在JSON中更改结构,对我来说也可以


谢谢。


白猪掌柜的
浏览 1412回答 3
3回答

慕斯王

设法把它放在一起。最有可能是更好的解决方案,但这是我得到的最接近的解决方案。$a = '[{"COLUMN_NAME":"ORDER_NO","COLUMN_TITLE":"Order Number"},{"COLUMN_NAME":"CUSTOMER_NO","COLUMN_TITLE":"Customer Number"}]';$b = '[{"COLUMN_NAME":"ORDER_NO","DEFAULT_VALUE":"1521"},{"COLUMN_NAME":"CUSTOMER_NO","DEFAULT_VALUEE":"C1435"}]';$r = [];foreach(json_decode($a, true) as $key => $array){ $r[$key] = array_merge(json_decode($b, true)[$key],$array);}echo json_encode($r);返回,[{"COLUMN_NAME":"ORDER_NO","DEFAULT_VALUE":"1521","COLUMN_TITLE":"Order Number"},{"COLUMN_NAME":"CUSTOMER_NO","DEFAULT_VALUEE":"C1435","COLUMN_TITLE":"Customer Number"}]

慕侠2389804

这对我来说就像一个魅力json_encode(array_merge(json_decode($a, true),json_decode($b, true)))这是一个完整的例子$query="SELECT * FROM `customer` where patient_id='1111118'";$mysql_result = mysql_query($query);$rows = array();while($r = mysql_fetch_assoc($mysql_result)) {    $rows[] = $r;}$json_personal_information=json_encode($rows);//echo $json_personal_information;$query="SELECT * FROM `doctor` where patient_id='1111118'";$mysql_result = mysql_query($query);$rows = array();while($r = mysql_fetch_assoc($mysql_result)) {    $rows[] = $r;}$json_doctor_information=json_encode($rows);//echo $json_doctor_information;echo $merger=json_encode(array_merge(json_decode($json_personal_information, true),json_decode($json_doctor_information, true)));
随时随地看视频慕课网APP
我要回答