カテゴリー: 開発ツール

JSONディープマージツール

サイト側で企画したツールツールが見つからない?

2つのJSONオブジェクトや配列を、配列の結合方法を選んでマージします

2つのJSONオブジェクトや配列を再帰的にマージします。ネストしたオブジェクトはキーごとにマージされ、配列は連結・置き換え・和集合のいずれかを選んで結合できます。すべてブラウザ内で完結します。

結果
{
  "name": "Ada",
  "tags": [
    "engineer",
    "mathematician"
  ],
  "settings": {
    "theme": "light",
    "notifications": true
  },
  "role": "Lead"
}

このページの処理はすべてブラウザ内で行われます。アップロードは一切ありません。

このツールでできること

浅いマージではオブジェクトの最上位のキーしか結合されないため、JSON Bのネストした設定がJSON Aのネストしたオブジェクト全体を丸ごと上書きしてしまいます。このツールは再帰的にマージするため、一致するネストしたオブジェクトはキーごとに結合され、配列は選んだ戦略に従って結合されます。そのため、何段階もネストした設定やユーザー設定のオブジェクトも、期待どおりの形でマージされます。

使い方

  1. 基本となるドキュメントをJSON Aに、上書きしたい内容をJSON Bに貼り付けます。
  2. 配列の結合方法を選びます: 両方を連結する、AをBの配列で置き換える、両方の和集合を取る、のいずれかです。
  3. マージ結果を確認します。両方のドキュメントに同じキーがある場合はJSON Bの値が優先されます。

プライバシー

このツールはすべてブラウザ内で動作します。入力した内容がアップロード・保存・共有されることはなく、タブを閉じれば消えます。

よくある質問

両方のドキュメントに同じキーがある場合はどうなりますか。
両方の値がオブジェクトであれば再帰的にマージされ、両方が配列であれば選んだ配列の結合方法で結合されます。それ以外の場合はJSON Bの値が優先されます。
配列の「和集合」は何をしますか。
JSON Aのすべての項目を保持したうえで、JSON Bの項目のうち、シリアライズした値が結合済みの配列にまだ含まれていないものだけを追加します。そのため重複した項目が追加されることはありません。
2つのオブジェクトではなく、2つのJSON配列をマージできますか。
はい。JSON AとJSON Bの両方が配列であれば、オブジェクトで包む必要なく、配列の結合方法を使ってそのまま直接マージされます。