2017-01-20 8 views
0

jsonデータをWebサービスにプッシュしようとしています。JsonをWebサービスに渡す

ここに私のサンプルデータがあります。

{ 
     "data" : { 
     "username" : "demo", 
     "password" : "demo1082*098/*42a", 
     "LoginToken" :  "AAFF540EC55DASEFBE7E3D8404AED31F6DD30CA2BFCE2433B9475E696GG38730" 
     } 
    } 

ここは私のWebサービスです。

public string Post([FromBody]string data) 
List<Login> datas = JsonConvert.DeserializeObject<List<Login>>(data); 

エラー。型「System.ArgumentNullException」の例外がNewtonsoft.Json.dllで発生したが、ユーザーコードで処理されなかった

データはNULLとして表示されます

私はWebAPIの、安らかなAPI、C#の、視覚的なSTDを使用してい

ありがとうございました。

EDIT;

POSTデータにDHCクロムエクステンションを使用しています。 HEADER; コンテンツタイプ:application/json BODY;

{ 
      "data" : { 
      "username" : "demo", 
      "password" : "demo1082*098/*42a", 
      "LoginToken" :  "AAFF540EC55DASEFBE7E3D8404AED31F6DD30CA2BFCE2433B9475E696GG38730" 
      } 
     } 

エラー。

500内部サーバーエラー

EDIT; "文字列"の種類のデータであるエラーが発生しました。私は "動的"としてそれを変更するときに問題を解決しました。誰かが動的ではなくキーワードを私に勧めてもらえますか?

+1

Webサービスに値を渡すんどのように共有してください、コード –

+0

@IkramTurgunbaevはあなたに感謝します。私はPOSTメソッドを使用しています。 – NewPHPer

+1

@NewPHPer動的なキーワードを避けたい場合に備えて、私の解決策を確認してください。 – abhi

答えて

3

1)あなたは

public class LoginData 
{ 
    public string username {get;set;} 
    public string password {get;set;} 
    public string LoginToken {get;set;} 
} 

のような、私はあなたがすでにクラス名Loginを(作成した次の行を見

public string Post([FromBody]LoginData data) 

2)以下のようなWebサービスの使用中のクラスを作成する必要がありますあなたがjsonでシングルレコードを持っている場合)

Login datas = JsonConvert.DeserializeObject<Login>(data); 

したがって、

public string Post([FromBody]Login data) 
+0

ありがとう!それはうまくいった – NewPHPer

-1

次のようにそれを行うための方法の一つ、

今すぐあなたもする必要はありませんあなたの要求

public class Data 
{ 
    public string username { get; set; } 
    public string password { get; set; } 
    public string LoginToken { get; set; } 
} 

public class RootObject 
{ 
    public Data data { get; set; } 
} 

と自分の投稿方法

public string Post([FromBody]RootObject data) 

内のクラスを作成します。それをデシリアライズします。クラスのプロパティとして直接アクセスすることができます。

+0

私は投票の理由を知ることができます。改善が必要です – abhi

+0

私はそれを投票しました。あなたの答えは私のために働いた。ありがとうございました。 – NewPHPer

関連する問題