Maison  >  Article  >  développement back-end  >  Comment fusionner deux chaînes JSON en PHP pour créer une seule chaîne JSON combinée ?

Comment fusionner deux chaînes JSON en PHP pour créer une seule chaîne JSON combinée ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 12:02:02900parcourir

How to Merge Two JSON Strings in PHP to Create a Single Combined JSON String?

Fusionner deux chaînes JSON en PHP

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn