我一直在創建一個基於REST的WCF服務來發送和接收json數據。我能夠獲得大部分工作,但這最後一部分確實難倒了我。REST,json,.Net4和複雜數據類型
我發送複雜的數據類型到我的服務。我發送數據,但好像我的類沒有被實例化。
類聲明(在一個單獨的類文件):
public class WhereItsAt
{
public float Latitude { get; set; }
public float Longitude { get; set; }
public string Category { get; set; }
public string SearchTerms { get; set; }
public float Distance { get; set; }
}
[WebInvoke(Method = "POST", UriTemplate = "/New", RequestFormat = WebMessageFormat.Json)]
public string Create(WhereItsAt newstuff)
{
return string.Format("Success: {0} <Should show search terms here>", newstuff.SearchTerms);
}
的問題是,newstuff.SearchTerms(OK,所有Newstuff文件中)爲空或0
如果我修改我的類:
public class WhereItsAt
{
public float Latitude { get; set; }
public float Longitude { get; set; }
public string Category { get; set; }
public string SearchTerms { get{return "hello"}; set; }
public float Distance { get; set; }
}
它返回數據。
我使用Fiddler調用:
POST http://127.0.0.1:8835/testing/New
HTTP/1.1 用戶代理:提琴手 主機:127.0.0.1:8835 的Content-Length:122 內容類型:應用/ JSON;字符集= UTF-8
[{ 「緯度」:43.34, 「經度」:45.234, 「類別」: 「還沒有設置」, 「SearchTerms」: 「市中心」, 「距離」:12.234}]
它看起來好像我的類沒有被實例化。我在集合中創建了一些虛擬代碼
{set {int i = 1;};
但如果我在集合中創建斷點,它永遠不會被調用。
我在做什麼錯?
我這樣做,沒有任何變化。仍然做同樣的事情。 – Carl
原來是我的Fiddler測試數據中的一個問題。我有一套封閉的[]。不知道我在哪裏看到的,並且Fiddler上的解析器沒有抱怨。 – Carl