Объединение двух json в PHP

У меня есть два json's

Первый

[{"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"}] 

Я хочу объединить их и использовать json как

 [{"COLUMN_NAME":"ORDER_NO","COLUMN_TITLE":"Order Number","DEFAULT_VALUE":"1521"} ,{"COLUMN_NAME":"CUSTOMER_NO","COLUMN_TITLE":"Customer Number","DEFAULT_VALUEE":"C1435"}] 

есть ли способ их слияния? Это также нормально для меня, если требуется изменение структуры в JSON

Благодарю.

Нечто вроде json_encode(array_merge(json_decode($a, true),json_decode($b, true))) должно работать.

array_merge в официальной документации PHP

json_decode в официальной документации PHP

EDIT: попробуйте добавить true как второй параметр в json_decode. Это преобразует объекты в ассоциативные массивы.

РЕДАКТИРОВАТЬ 2 : попробуйте array-merge-recursive и см. Мой комментарий ниже. Извините, теперь нужно выйти из системы 🙁 Это выглядит как полное правильное решение: https://stackoverflow.com/a/20286594/1466341

Удалось бросить это вместе. Скорее всего, это лучшее решение, но это самое близкое мне.

 $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"}] 

Это работает как прелесть для меня

 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)));