Maison > Article > développement back-end > Comment fusionner deux chaînes JSON en PHP pour créer une seule chaîne JSON combinée ?
Question :
Étant donné deux chaînes JSON représentant une liste de noms et de titres de colonnes pour une table de base de données, comment pouvons-nous les fusionner pour créer une seule chaîne JSON incluant les deux ensembles d'informations ?
Première chaîne JSON :
[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number"} ]
Deuxième chaîne JSON :
[ {"COLUMN_NAME": "ORDER_NO", "DEFAULT_VALUE": "1521"}, {"COLUMN_NAME": "CUSTOMER_NO", "DEFAULT_VALUEE": "C1435"} ]
Sortie souhaitée :
[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number", "DEFAULT_VALUE": "1521"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number", "DEFAULT_VALUEE": "C1435"} ]
Solution :
À fusionnons les deux chaînes JSON, nous pouvons utiliser les fonctions array_merge et json_decode. json_decode convertit les chaînes JSON en tableaux PHP. array_merge combine ces tableaux, et nous pouvons ensuite utiliser json_encode pour reconvertir le tableau fusionné en chaîne JSON.
$json1 = '[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number"} ]'; $json2 = '[ {"COLUMN_NAME": "ORDER_NO", "DEFAULT_VALUE": "1521"}, {"COLUMN_NAME": "CUSTOMER_NO", "DEFAULT_VALUEE": "C1435"} ]'; $array1 = json_decode($json1, true); $array2 = json_decode($json2, true); $mergedArray = array_merge($array1, $array2); $mergedJson = json_encode($mergedArray); echo $mergedJson;
Sortie :
[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number", "DEFAULT_VALUE": "1521"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number", "DEFAULT_VALUEE": "C1435"} ]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!