2012-02-13 28 views
1

jqueryからWebサービスにデータを渡すためにJSONを使用するにはどうすればよいですか?JSONを使用してASP.Net Webサービスにデータを渡す

配列の長さが常に動的に変更された場合、Webserviceの入力としてどのような種類のデータ型を使用する必要があるかということです。たとえば、ルートのシリアル番号とルートの搭乗場所の数です。例。私は私がそれに応じてコーディング修正することができるように

{ "route": [ 
    { 
     "serial": { 
     "name": " ", 
     "rsn": " ", 
     "boardingzone": { 
          "zone": [ 
           { "name": " ", "time": " ", "qouta": " " }, 
           { "name": " ", "time": " ", "qouta": " " }, 
           { "name": " ", "time": " ", "qouta": " " } 
            ] 
      }, 
     "destination": { 
          "zone": [ 
           { "name": " " }, 
           { "name": " " }, 
           { "name": " " } 
         ] 
      } 
    } 
} 
] } 

また、私はasp.net期待し、あるフォーマットの種類を知っていただきたいと思い、任意のコメントや返信を事前にお願いします。

答えて

0

私はこの質問がしばらく前に尋ねられたことを認識しており、ASP.Netでこれを解決する方法は非常に多いと思います。私が通常やったことはaspxページのWebMethodsを使うことです。また、asmx Web Servicesファイルを使用することもできます。 - Robertさんは、hereを説明する良い仕事をしています。

上記の構造のようなものについては、C#でジェネリックスと構造体を使用して、サーバサイドのデータを同様の方法で扱いやすくするため、JavaScriptでデータが処理されます。また、JSONのシリアル化も簡単になります。私はこのようにするには初期のオーバーヘッドがあることを認識しています。私の目標は、JavaScriptを使用してフロントエンドにあるように、C#でサーバ側のデータを扱うのが簡単であるようにすることです。

私はVS2010に自動的に追加したものに加えて、次の名前空間リファレンス:

using System.Collections; 
using System.Web.Services; 
using System.Web.Script; 
using System.Web.Script.Serialization; 
using System.Web.Script.Services; 

Iは、次の構造体を定義する:以下

public struct RouteAddedResponse { 
    public int? id; 
    public int status; 
    public string message; 
} 

public struct BoardingZoneDetail 
{ 
    public string name; 
    public string time; 
    public string quota; 
} 

public struct DestinationZoneDetail 
{ 
    public string name; 
} 

public struct RouteSerial 
{ 
    public string name; 
    public string rsn; 
    public Dictionary<string, List<BoardingZoneDetail>> boardingzone; 
    public Dictionary<string, List<DestinationZoneDetail>> destination; 
} 

は一例でScriptMethod

スクリプトメソッドAddRouteDataは、上記の構造をHTTP POST経由で想定しています。 GETリクエストを使用する場合、メソッドの引数はクエリ文字列変数になります。 ASP.NetでScriptMethodsを使用して

警告

、あなたはContent-Typeヘッダに設定されていることを確認する必要があります:あなたがGETやPOSTリクエストを使用しているかどうかapplication/json; charset=utf-8

希望に役立ちます!

+0

私の学校のサンドボックスサーバーでは、更新プログラムやパッチをインストールできないため、うまく説明できますが、Json.NET Libaryを使用して管理しています。しかし、私は最初の場所でPHPを使用しなかった理由を考えることができませんでした...笑 – Fy2C

関連する問題