1
With Put
and Get
請求我收到應包含json字符串的字段的空字符串。C#Web Api獲取POST json作爲自定義字符串類型
例如: 我把下列JSON:
{
"card": {
"foo": "bar",
"xyz": "dby"
}
}
現在,如果接收類有類型JObject中的一員,那麼它被正確如果更改映射
public class contact {
public int id { get; set; }
public string name { get; set; }
public JObject card { get; set; }
}
然而鍵入可以接收所有JTokens的自定義字符串類型:
public class contact {
public int id { get; set; }
public string name { get; set; }
public JsonString card { get; set; } //**Changed HERE**//
}
然後,Put和Get方法都顯示空字符串。
JsonString看起來如下:
public class JsonString
{
private string _json;
public JsonString (string json)
{
this._json = json;
}
public string Value()
{
return _json;
}
public override int GetHashCode()
{
return _json.GetHashCode();
}
public override bool Equals(object obj)
{
return (obj is JsonString) && this.GetHashCode() == obj.GetHashCode();
}
public override string ToString()
{
return _json;
}
}
的jsonString類的更多,但可能沒有必要在這方面。任何想法爲什麼put/Get返回空字符串,我該如何解決這個問題?
編輯:
認沽看起來是這樣的:
[HttpPut]
[Route("contacts/{contactid}")]
public HttpResponseMessage update(int id, contact c) {
contact.update(c);
}
它不是真正的對你的問題的迴應,但如果你有時間看看Newtonsoft.Json,它很容易使用,併爲你提供正確的序列化和反序列化的對象向JSON和向後。 –
你在你的'JsonString'中究竟做了什麼? – Coder