それは、決定するのは難しい
現在、私はJSON HTTP POST Vsをx-www-form-urlencodedで
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->arguments));
または
とPHPのLIBカールとx-www-form-urlencodedでなどのデータを送信していますcurl_setopt($curl, CURLOPT_POSTFIELDS, $this->arguments);
最初の質問:第2の1つはコンテンツの長さが長くなるようですが、最初の解決策はおそらく良いですか?
それはのようなフラットなメッセージのための実用的です:
{
"name": "John",
"token": "2121232145",
"code": "7",
"data": "Hello"
}
しかし、私はまた、オブジェクトを表すデータフィールドを持つことができ、この場合には、私はそれをencondingが、(JSONをコードするURL)がひどくていることをやっていました冗長と醜いメッセージ、私はアプリケーション/ JSONコンテンツタイプとしてそれを送信しようとした反対側に
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($this->arguments));
コンテンツ長が小さいメッセージが、Wの大きいですi番目の組み込みJSONは、それは明らかに良いでしょう
しかし、x-www-form-urlencodedでも、私はJSONを
に埋め込まれている場合2つの貴様を持ってエレガントではないでしょう除いて、送信する必要があるフォームデータに近いですサーブレットはコンテンツタイプに応じてメソッドを解析するので、別のオプションもありますか?
短い:x-www-form-urlencoded。 LONG:実際にどのような種類のデータを送信するか(複雑なネストされたオブジェクトか、例のようなわずかなフィールド)に依存します。また、送信されたデータは何を処理するのかによって異なります。すぐに解析され処理されるか、保存され、そのままユーザーに送信されます(jsonでエンコードされた形式)。 – pinepain
@pinepainデータはグラスフィッシュサーバーに送られ、解析されてカサンドラデータベースに挿入されます。これは '{'data':json_encode({'text': '2klines ..'、 'author' : '私'})、 'id': '14141'、 'keywords':json_encode({[{'タグ':['青'、 '赤']}、{'著者':['私']} })、..} ' –
同じやり方でやりとりすることは簡単です。どこでもJSONを使用してみませんか?退屈なfile_get_contents( 'php:// input')でフォームデータを$ _POST/$ _ GET/$ _ REQUEST変数とJSONデータとして扱うPHPのためです。私は、世界がPHPの周りを回転するのは嫌いです。 Node.jsでは、フォームデータの代わりにJSONを使用するのは非常に簡単で自然です。 –