【发布时间】:2016-06-21 22:37:59
【问题描述】:
我正在尝试将 JSON 数组传递给 ApiController,但字符串值没有反序列化(它们被设置为空值)。奇怪的是我仍然得到正确数量的元素。
A 有一个 ApiController:
[RoutePrefix("api/language")]
public class LanguagePairApiController : ApiController
使用 post 方法:
// POST: api/language/create
[HttpPost]
[Route("create")]
public string Create([FromBody]LanguagePair[] languagePairs)
我正在向它发送 JSON:
[
{"Key":"Test","Value":"Test","Version":"1.0"},
{"Key":"Areyousure","Value":"Are you sure?","Version":"1.0"},
{"Key":"File","Value":"File","Version":"1.0"}
]
这是我试图将其映射到的类:
public class LanguagePair
{
public string Key { get; set; }
public string Value { get; set; }
public string Version { get; set; }
}
但字符串值以 null 的形式出现:
我错过了什么?
编辑:我已经找到了一个答案并将其发布在下面。但我仍在寻找更好的答案...
【问题讨论】:
-
我对asp.net不太了解,但不是有一些机制可以自动开启camel case对象属性吗?尝试发送
[{"key":"win"}]给它。 -
你实际使用的 jQuery 是什么
标签: c# json asp.net-web-api asp.net-apicontroller