WebAPIのあるあなたは、このJSONオブジェクト送っているということを言っているので、期待通りに働いて:あなたが求めている次に
{ "username":"admin", "password":"admin" }
をそれは有効なJSON文字列ではないので不可能なstring
として逆シリアル化します。
解決方法1:
あなたがvalue
の値のように実際のJSONを受信したい場合は次のようになります。その後、
value = "{ \"username\":\"admin\", \"password\":\"admin\" }"
あなたが要求の本文を設定する必要がある文字列郵便配達には、次のとおりです。
"{ \"username\":\"admin\", \"password\":\"admin\" }"
ソリューション2(私はこれを仮定していますあなたが欲しいものです):
WebAPIが適切に逆シリアル化できるようにJSONと一致するC#オブジェクトを作成します。この使用あなたの方法に続いて
public class Credentials
{
[JsonProperty("username")]
public string Username { get; set; }
[JsonProperty("password")]
public string Password { get; set; }
}
:まず、あなたのJSONに一致するクラスを作成
[Route("api/account/GetToken/")]
[System.Web.Http.HttpPost]
public HttpResponseBody GetToken([FromBody] Credentials credentials)
{
string username = credentials.Username;
string password = credentials.Password;
}
は '入手トークンである必要はありません([FromBody]文字列のユーザー名、[ FromBody] string password) '?または、あなたは 'value'にjson文字列全体を含めることを期待しましたか? – Andrei
私はjsonの文字列として書式設定されたbodyに自分のデータを渡したいと思っています。私のコードの問題は何ですか? – Mennan