0

したがって、WebMethodをオブジェクトとして作成し、文字列としてではなく辞書を返すようにすると、JavaScriptSerializer.Serialized()を返すと、JSONのサイズが約20%削減されることがわかりました。

ええ、これは(過去に)消費者にサービスを提供している従来のWebアプリにとっては大したことではなく、数kbは大きいことを知っていますが、顧客にサービスを提供しようとしているB2Bにとっては巨大ですAJAXd jQueryページは、動的化の前に100 MBになる可能性のある動的テーブルと、約1〜2 MBのIDリストを送信するときに、データ転送がはるかに少なく、速度が速くなりますが、私は逸脱します。

他の投稿で読んだことから、json_encodeはJSONに必要以上に追加する同じことをしているようです。配列をオブジェクトとして単純に出力する方法、または複数の配列からオブジェクトを作成してエクスポートする方法はありますか?

1)印刷(およびそのファミリ)が出力する唯一の方法ですか?

2)json_encode(およびそのファミリ)は必要ですか?結局のところ、jQueryレベルで適切に出力すれば、デコードする必要はありません。

私はスピードと効率の大ファンです。AJAX / jsLibsが引き継ぎ、これらの厄介なサーバー側スクリプトが途中で進む間にデータが大きくなると、次の論理的な目的は(クライアントへの標準化されたプッシュを除いて)JSONのサイズをできるだけ小さく保つことであるように見えます可能。

AJAX / PHPでゴミを最小限に抑えるにはどうすればよいですか?配列をオブジェクトとして直接エクスポートするにはどうすればよいですか?

よろしくお願いします。私は語彙がひどいです。私がやりたいことは比較的明確であることを願っています。

いつものように、事前に感謝し、私の頭脳であることに感謝します!

4

1 に答える 1

1

私が .net webmethod で抱えていた問題は、それを含めjavascriptserializingて送信する前に自分の出力だったことです。<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>それが私のjson出力に余分なデータを追加したものです。

配列は、json_encode を使用してそのままエクスポートできます。必要なのはそれだけです。

于 2012-12-11T18:31:04.413 に答える