JSON を GET パラメータに変換

ローカル処理
app.querystring.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

使い方

オブジェクトと URL クエリを相互変換します。GET リクエストを組み立てる、アドレスバーのパラメータを JSON に戻す、といったときに、手で & とエンコードを数えなくて済みます。入れ子オブジェクトはできるだけ括弧付きキー名に広げます。

JSON → query

入れ子構造はできるだけ a[b]=c または類似のキー名に広げます。配列にも添字が付き、バックエンドのバインド方法と照合しやすくなります。

日本語と空白は URL エンコードで処理します。

query → JSON

次のような page=1&q=json オブジェクトへ戻します。ブラウザのアドレスバーやキャプチャから query をコピーすれば十分です。

重複キーの扱いはこのページの解析に従います。複雑な重複パラメータは抜き取り確認してください。

ローカルで完了

完全な URL をこちらへ送りません。社内 API のパラメータデバッグにも使えます。

リクエストボディが JSON の POST はこのページを通さず、そのままフォーマットすれば十分です。

JSON
{"page":1,"q":"json","tags":["a","b"]}
クエリ文字列(イメージ)
page=1&q=json&tags=a&tags=b
空白と日本語は?

URL エンコード規則で処理します。ブラウザのアドレスバーへ戻す前に、サーバー側のデコード方式が一致するか確認してください。

POST JSON でもこれが必要ですか?

リクエストボディが JSON ならフォーマットで十分です。このページは query string 向けです。

PHP / Rails 風の括弧キーは?

できるだけ入れ子オブジェクトとして展開します。バックエンド枠の取り決めが違う場合は、枠の文書に合わせて微調整してください。

ハッシュ(#)の後ろのパラメータは?

このページは ? の後ろの query を扱います。SPA が状態を hash に置く場合は、query 部分だけコピーしてください。

おすすめの手順

  1. JSON → GET または GET → JSON を選びます。
  2. オブジェクトまたはクエリ文字列を貼り、変換結果を確認します。
  3. query を API URL に付けて試すか、JSON をテストケースへ戻します。
  4. エンコード不一致による文字化けは、サーバー側の decodeURIComponent / 枠のバインドと照合してください。

GET には長さ制限があります。パラメータが多い、または大きな JSON を含むときは POST Body に切り替え、query へ全部詰め込まないでください。