我的iPhone客戶端發佈以下json到我的mvc服務。 當從HTML表單發佈數據時,它會自動將表單數據轉換爲UserModel,並將該對象傳遞給我的Create方法,但是當我從iphone發送請求正文中的JSON字符串時,它將返回爲null。Asp.Net mvc,發佈json?
從JSON到Object的轉換最乾淨的解決方案是什麼?
我寧可不爲不同的客戶端創建多個方法,所以我試圖讓iphone和mvc客戶端使用相同的方法。
身體我的要求:
{
"firstName" : "Some Name",
"lastName" : "Some Last Name",
"age" : "age"
}
我的模型和操作結果
public class UserModel
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
[HttpPost]
public Create ActionResult(UserModel user)
{
// user is null
userStorage.create(user);
return SuccessResultForModel(user);
}
只是爲了確認,你想給用戶對象轉換是從JSON命中控制器? – 2013-03-10 01:50:38
您是否註冊了JsonValueProviderFactory(MVC需要能夠解碼JSON發佈數據)?客戶是否指定了正確的ContentType?請參閱http://stackoverflow.com/questions/4789481/post-an-array-of-objects-via-json-to-asp-net-mvc3查看附加事項(最高投票答案有清單)。 – 2013-03-10 01:51:59
JSON看起來不正確,「年齡」之後有逗號?另外,年齡值應該是一個整數? (儘管我認爲失敗了,它會使用默認的int值0)。另外,你的HttpPost方法說'Create ActionResult',它不應該是'ActionResult Create'嗎? – Snixtor 2013-03-10 02:00:14