質問:
列名とタイトルのリストを表す 2 つの JSON 文字列が与えられた場合データベース テーブルの場合、これらをマージして、両方の情報セットを含む単一の JSON 文字列を作成するにはどうすればよいですか?
最初の JSON 文字列:
[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number"} ]
2 番目の JSON 文字列:
[ {"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"} ]
解決策:
2 つの JSON 文字列をマージするには、array_merge 関数と json_decode 関数を使用します。 json_decode は、JSON 文字列を PHP 配列に変換します。 array_merge はこれらの配列を結合し、json_encode を使用して結合された配列を 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;
出力:
[ {"COLUMN_NAME": "ORDER_NO", "COLUMN_TITLE": "Order Number", "DEFAULT_VALUE": "1521"}, {"COLUMN_NAME": "CUSTOMER_NO", "COLUMN_TITLE": "Customer Number", "DEFAULT_VALUEE": "C1435"} ]
以上がPHP で 2 つの JSON 文字列をマージして、結合された 1 つの JSON 文字列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。