JSON・クエリ文字列コンバーター

JSON オブジェクトを貼り付けるとクエリ文字列を作成し、クエリ文字列を貼り付けると JSON に戻せます。キーと値はパーセントエンコードされ、ネストしたオブジェクトはブラケット付きキーになります。

ブラウザ内でローカルに実行

「JSON・クエリ文字列コンバーター」の使い方

JSON オブジェクトを貼り付けるとクエリ文字列を作成し、クエリ文字列を貼り付けると JSON に戻せます。キーと値はパーセントエンコードされるため、空白・アンパサンド・非 ASCII 文字もそのまま往復できます。

変換はページ内で実行され、貼り付けたテキストはローカルで処理されて送信されません。結果はワンクリックでコピーできます。

  1. テキストエリアに JSON オブジェクトまたはクエリ文字列を貼り付けます。
  2. 「JSON → GET パラメータ」でクエリ文字列を作成します。ネストしたオブジェクトは user[name] のようなブラケット付きキーになり、配列は tags[] のようにキーを繰り返します。
  3. 「GET パラメータ → JSON」で、クエリ文字列(そのまま・先頭に ? 付き・完全な URL)を整形された JSON オブジェクトに変換します。
  4. 「結果をコピー」で出力をコピーし、「クリア」で最初からやり直せます。

背景と精度

エンコードとデコードの内容

JSON 方向では、すべてのキーと値を encodeURIComponent でエンコードします。空白は %20、アンパサンドは %26、中文 はエスケープされた UTF-8 になります。null は空の値になり、数値と真偽値はそのままの表記を保ちます。

クエリ方向では、+ を空白として、パーセント表記を元の文字としてデコードします。= を含む値はそのまま維持し(a=b=c は "b=c")、値のないパラメータは空文字列になります。

ブラケット付きキーと往復変換

ネストした JSON はブラケット付きキーに平坦化されます({"user":{"id":1}} は user[id]=1)。配列は [] を付けてキーを繰り返します(tags[]=a&tags[]=b)。逆方向の変換では、ブラケットがそのままでもパーセントエンコードされていても、同じオブジェクトと配列を再構築します。

クエリの値は文字列なので、往復すると数値 1 は "1" として返ります(型の推測はしません)。同じキーが複数あれば配列になり、不正なパーセント表記は変換全体を失敗させず、そのまま残します。

最近使ったツール: