WCFを利用したRestサービスの構築を行っております。
送信側は、外部サービス。受信側が本サービスです。
受信データの逆シリアライズは、DataContractで定義して行っています。
通常の配列形式や、一次元の連想配列、多次元の配列(連想配列->配列)は、
問題なく取得出来ているのですが多次元の連想配列が取得出来ずに困っています。
lang
1// 送信されたJSON 2// {"data":{"AHAHA":"AHAHAHHHA","BHAHAHAHA":"HAHAHGUDGAIU","KEKEKK":"HSHADHGUA"}} 3 4// サービスの定義 5[ServiceContract] 6public interface IGreetService 7{ 8 // POST 9 [OperationContract] 10 [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "datapost")] 11 GreetResponse datapost(GreetRequest req); 12} 13 14// データコントラクト定義 15[DataContract] 16public class GreetRequest { 17 [DataMember(Name="data")] 18 public Dictionary<string,string> data{ get; set; } 19} 20 21// 処理クラス 22 public GreetResponse datapost(GreetRequest r_data) 23 { 24 Console.Write(r_data.data); // ここのデータがCount=0で返ってくる 25 return new GreetResponse 26 { 27 Message = "Test" 28 }; 29
細かな点は省いていますが、主要なソースは上記になります。
一次元の連想配列が取れるもしくは、多次元の配列は取得出来ているので
要素内の型指定に問題があるのではないか?と推測しているのですが、
どうすればいいのか見当もつきません。
参考URLの提示でも結構です。情報を頂ければと思います。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。