我正在使用MVC。我的HTML代码是:
<form action="/Electronics/Temp1" method="post">
<input type="hidden" name="files" id="fileNames" />
<input type="submit" />
</form>
我将输入字段中的数据附加为:
$("input[id*='fileNames']").val(JSON.stringify(fileList));
为了接收这些数据,我创建了一个类,如下所示:
public class FileName
{
public string serverFileName;
public string fileName;
public string fileId;
}
现在我收到的控制器为:
public ActionResult Temp1()
{
FileName[] fileName = Request["files"]; //How to convert ?
return Json(new { Message = "Ok" });
}
但我在Temp1
的第一行收到错误。如何将Json数据解析为FileName
。
答案 0 :(得分:0)
您可以使用Json.Net库将json字符串反序列化为abject。 例如:
string json = @"{
'Name': 'Bad Boys',
'ReleaseDate': '1995-4-7T00:00:00',
'Genres': [
'Action',
'Comedy'
]
}";
Movie m = JsonConvert.DeserializeObject<Movie>(json);
答案 1 :(得分:0)
ASP.NET MVC内部模型绑定器可以为您反序列化JSON字符串。您可以将期望的模型设置为操作/方法中的参数,并查看魔法。
public ActionResult Temp1(FileName[] files)
{
// work with files
return Json(new { Message = "Ok" });
}
顺便说一下,最好在模型类中使用属性 - https://softwareengineering.stackexchange.com/questions/161303/is-it-bad-practice-to-use-public-fields
public class FileName
{
public string ServerFileName { get; set; }
public string FileName { get; set; }
public string FileId { get; set; }
}