我正在尝试将JSON数据引入我的方法。我正在使用Postman发送我的数据。
我的JSON的一个例子是...{" fieldData":{" name":" David"}," Project":20,"版本":1}
我的模型是
public class IncomingFormData
{
public JObject FieldData { get; set; }
public int Project { get; set; }
public int Version { get; set; }
}
我的方法是
[HttpPost]
public void SaveFormData(IncomingFormData FieldData)
{
string myField = FieldData.FieldData.ToString();
}
我在fielddata.fielddata中的零,项目和版本显示0。
在我的早期版本中,我有...
我的JSON的一个例子是...
{fieldData:'{" name":" david"}'," project":20,"版本":1}
[HttpPost]
public void SaveFormData(string FieldData, int Project, int Version)
{
string myField = FieldData;
}
对我来说,在这个版本中,如果其中一个fieldData对象的值中有一个撇号,则会失败。(根据RFC这是正确的)。
所以,我不得不重写它。
现在,我无法从Postman那里得到任何进来。该方法被称为,但没有任何进来。
Postman已接受应用程序/JSON和Content-type应用程序/JSON SET。
谢谢。
这并不是我真正想做的方式,但是,嘿,它有效。
我的原始方法是在常规MVC控制器中。当我尝试发送JSON时,我会收到错误无法创建Ampact class
但是,创建一个API控制器,几乎具有相同的签名 jobject fieldData ,然后从那里传递到我的常规控制器中,它只是可行的。
以下代码在API控制器中。
public JsonResult Post([FromBody]JObject FieldData)
{
//string myData = FieldData.ToString();
FormsController form = new FormsController();
return form.SaveFormData(FieldData);
}
尝试通过以下:{" incomingformdata":{" fielddata":{" name":" david":" david"}," project":20,"版本:1}}