JSONツール

JSONマージ残す値を確認する

オブジェクトの深さ、競合時の優先側、配列処理を選び、結果を確認してから保存します。

JSONマージ

左のJSON入力

右のJSON入力

結合結果のプレビュー

エディターは一部を表示します。コピーとダウンロードには検証済みの結果全体が含まれます。

両文書はブラウザーのメモリ内で処理され、送信・保存されません。

深いモードはオブジェクトを再帰的に結合します。浅いモードはルートの項目を結合し、同名の子オブジェクトは全体を選択します。同名配列には配列設定が適用されます。nullは削除ではなく値です。

連結は重複を含めて左、右の順で保持します。キー照合は左の順序を保ち、右だけのIDを末尾に追加します。一致したレコードは深いモードで再帰結合し、浅いモードでは全体を選びます。

結果が古くなっています。コピーとダウンロードは無効です。

環境別の設定を重ねるとき、JSONマージでは子オブジェクトを丸ごと置き換えるか、別々の項目を残すかが重要です。見た目が似た入力でも、この選択によって設定項目が消える場合があります。競合一覧で実際の選択箇所を確認できます。

JSON結合の対象にレコード配列が含まれるなら、同じ位置よりもIDが意味を持つことがあります。ネストしたオブジェクトの処理と配列連結を別々に設定し、慣習に任せず、今回必要な動作を指定してください。

JSONマージを使う理由

枝全体を置き換える影響が分かる

JSONマージは値を選択した位置に競合を記録します。浅いモードで子オブジェクトを置き換える場合はコンテナー1件、再帰結合では異なる子の値だけを記録します。片側だけの項目や等しい値は競合になりません。

入れ子の設定ツリーで枝全体を置き換えた場合と、両側の葉を再帰的に残した場合を比較しています。

照合後も元の位置を追える

JSONマージのキー照合は大きな数値IDも正確に区別します。左右の元パスと結果パスは独立しているため、同じIDが異なる配列位置にあっても、正しい入力値までさかのぼれます。

同じ色の識別マークが左右の異なる位置にあるレコードを結び、左の順序を保つ結果に新規レコードが追加されます。

暗黙のルールをなくす手順

01

深さと配列を別々に決める

浅いモードはルートの項目を結合し、同名の子オブジェクト全体を選びます。同名配列は引き続き配列設定に従います。JSONディープマージはオブジェクトを再帰処理しますが、配列の扱いまで自動決定しません。

02

識別キーの前提を確認する

指定できるのは空でない直下のフィールド名で、パス式ではありません。各配列内でIDが一意である必要があります。同じ配列の1と1.0は重複扱いになり、処理全体が失敗します。

03

元のパスを確認して再利用する

Ctrl/Cmd+Enterで実行できます。照合されたレコードの左右パスを確認してから結果を保存してください。3文書目を結合する場合は、結果を左入力にするプレビューを適用します。元に戻すと両入力、設定、出力を復元します。

競合と配列順序の制御

オブジェクトを結合する深さ

深いモードでは対応するオブジェクトの固有項目を各階層で残します。浅いモードはルート項目のみを組み合わせ、同名の子オブジェクトは優先側を全体で選びます。浅いモードでも配列設定は有効です。

3種類の配列処理

置換は優先側の配列全体を選びます。連結は重複も含めて左の後に右を追加します。キー照合は左のレコード順を維持し、右だけのIDを右の順で末尾に追加します。優先側を変えてもこの順序は逆転しません。

数値とキーを忠実に保持

数値を浮動小数点に変換しません。IDは数学的な値で比較し、巨大な指数も大量のゼロに展開しません。出力には選択した数値の元の表記が残り、数字風のキー、空キー、__proto__も元の順序で安全に扱います。

判断箇所を追える競合一覧

結果と左右入力の3つのPointerを記録し、元の値は上限付きで表示します。配列全体の置換を子要素の結合として見せかけることはありません。競合の短縮表示と、完全な出力文書を分けて確認できます。

処理範囲と上限

標準パッチではなく独自の結合
nullは値として残り、キーを削除しません。ルートにはオブジェクト、配列、スカラーを指定できます。異なる型は優先側全体を選択します。RFC 7396 Merge PatchやRFC 6902 JSON Patchの生成・実行、競合の配列化は行いません。
厳密な構文と出力制限
各入力と整形出力は500,000文字、50,000ノード、深さ100までです。数値トークンは1,000文字まで。コメント、末尾カンマ、BOM、重複キーは拒否します。結合後の文書も再検証し、上限超過時は部分結果を提供しません。
曖昧なIDを拒否
ID名は空でない直下のキーです。実際に組として結合する配列を検証し、片側が空でも相手側は検証します。片側だけにある配列はそのままコピーします。対象要素はオブジェクトのみで、IDは一意の文字列か数値が必要です。
相等性と競合の定義
オブジェクトのキー順は相等性に影響せず、配列順は影響します。1、1.0、1e0は等しく、-0と0も等しい値です。文字列は数値と別です。等しい原子値は優先側の表記を保持します。浅いキー照合ではレコード全体を選びます。
予算と未対応の操作
競合は5,000件まで、累積したパスと値プレビューはそれぞれ2,000,000文字までです。競合のない経路も数えます。配列の位置照合、重複除去、入れ子のID式、ファイル読み込み、URL取得、自動ソート、個別競合の編集には対応せず、貼り付けた2文書を処理します。

JSONマージのよくある質問

入れ子のJSONオブジェクト同士を結合する方法は?

JSONマージの深いモードでは対応するオブジェクトの項目を再帰的に組み合わせます。浅いモードでは同名の子オブジェクト全体を選ぶため、優先されなかった枝だけにある項目が失われる場合があります。配列は別の設定に従います。

配列のマージ方法はどう選べばよいですか?

完全な置き換えには置換、全要素の保持には連結、固有IDのあるレコードにはキー照合を選びます。キー照合は位置での照合や値による重複除去ではありません。無効なIDがあれば、記録を捨てずに操作を失敗させます。

同じキーに異なる値があると、どちらが残りますか?

初期設定は右優先で、左優先にも変更できます。片側だけの項目は残ります。異なる値を全体選択する箇所だけが競合で、連結方向やキー照合後の順序は優先側を変えても同じです。

入力したJSONは外部へ送信されますか?

送信されません。処理はブラウザーのメモリ内で実行し、コピーまたはダウンロードを選んだときだけ結果を取り出します。入力は保存しないため、再読み込みするとサンプルに戻ります。必要な結果はページを離れる前に保存してください。

このツールで扱えないJSON操作はありますか?

複数ファイルの一括読み込み、遠隔URL、パッチ実行、個別競合の編集、配列の位置照合には対応しません。3つ以上を順番に処理する場合は、結果を左入力にするプレビューを適用し、右入力を次の文書に変えて実行します。

予期しない結合になりましたか?

次の置換箇所を確かめる

JSONマージのサンプルをキー照合に切り替え、左右の元パスを比べてから完全な結果を保存してください。