JSON の形式の説明はここで見ることができます。非常に詳細で、中国語で書かれています。
JSON 形式の説明
JSON 内の属性名は引用符で囲む必要があることに注意することが重要です。
jQuery での JSON の使用
jQuery は現在広く使用されているスクリプト ライブラリです。では、jQuery で JSON を使用するにはどうすればよいでしょうか?
JSON を解析する
JSON を解析するための組み込みサポートは、jQuery ですでに提供されています。
jQuery.parseJSON 関数は解析サポートを提供します詳細な手順については、こちらを参照してください。
var obj = jQuery.parseJSON('{ "name" :"John"}');
alert( obj.name === "John" );
オブジェクトを使用して JSON 形式の文字列を生成します
jQuery では使用できません。 通常の JavaScript オブジェクトを JSON 文字列に直接変換するメソッドを提供します。これは、次の拡張ライブラリを使用して実現できます。
jquery-json 拡張ライブラリ
このライブラリは jQuery を拡張するために使用され、JSON を使用するための 2 つのメソッドを拡張します。
toJSON メソッドは、通常の JavaScript オブジェクトを JSON 文字列にシリアル化するために使用されます。
var thing = {plugin: 'jquery- json'、バージョン: 2.3};
var encoded = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}'
evalJSON メソッド JSON 文字列を解析してプレーンな JavaScript オブジェクトにします。
var thing = {plugin: 'jquery- json'、バージョン: 2.3};
var encoded = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}'
var name = $. evalJSON( encoded ).plugin; // "jquery-json"
var version = $.evalJSON(encoded).version; // 2.3
この拡張機能のダウンロード アドレス:
http://code.google.com/p/jquery-json/WCF で jQuery を使用する クライアント
$.post in jQuery はサーバーに直接リクエストを発行し、サーバーから返されたデータを JSON 形式で解析できます。ただし、次の点に注意する必要があります。
リクエストされたコンテンツ タイプは json 形式である必要があります。上記の jQuery-json 拡張ライブラリを使用して実行できます。完了するには、リクエストの contentType も text/json を使用して記述する必要があるため、特別な注意を払う必要があります。そのため、デフォルトの投稿ではリクエストに通常の名前と値のペアが使用されます。は: application/x-www-form-urlencoded で、$.ajaxSetup に渡すことができます:
// Ajax 設定
$.ajaxSetup({ contentType: 'text/json' });
このように、要求されたコンテンツ タイプは必須のタイプに設定されます。
次に、実際のリクエストのコンテンツは JSON モードである必要があります。これは、拡張ライブラリの $.toJSON を通じて実現できます。例:
$.toJSON({ x: 2, y : 3 } )
このように、サーバー側がサービス メソッド Sum を提供する場合、次のように定義されます:
public int Sum(int x, int y)
{
return x y
}
は次のように呼び出すことができます。 WCF によって返されるデータはプロパティ d にあることに注意してください。
// Ajax 設定
$。 ajaxSetup({ contentType: 'text/json' });
$("#wcfBtn").click(function () {
$.post("Service1.svc/Sum", $.toJSON({ x: 2 , y: 3 })、関数 (データ) {
alert(data.d);
}); -side 構成
まず、サービスにラベルを追加します: [System.ServiceModel.Activation.AspNetCompatibilityRequirements(
RequirementsMode = System.ServiceModel.Activation.AspNetCompatibilityRequirementsMode.Allowed)]
コードをコピー