我对Web API有一个HttpPost请求,并将数据保存到我的数据库中。问题是JSON数据不是静态格式,如下所示:
{
"35":{
"FormId":"4",
"DateSubmitted":"2014-04-03 10:45:05",
"UserIp":"127.0.0.1",
"Username":"",
"UserId":"0",
"Lang":"en-GB",
"confirmed":"Yes"
},
"36":{
"FormId":"4",
"DateSubmitted":"2014-04-04 02:18:52",
"UserIp":"127.0.0.1",
"Username":"",
"UserId":"0",
"Lang":"en-GB",
"confirmed":"Yes"
}
}
35和36这里可以是任何数字,我不知道如何将它绑定到模型。 任何人都可以告诉我一个方法:(? 在此先感谢
答案 0 :(得分:1)
这是一个快速示例,说明如何使用JSON.Net和动态关键字实现我认为您的目标。为简单起见,我删除了一些属性:
[HttpPost]
public void POST(string text)
{
dynamic result = JsonConvert.DeserializeObject(text);
foreach (var res in result)
{
var ele = new Test();
ele.ArrayId = int.Parse(res.Name);
dynamic value = res.Value;
ele.FormId = int.Parse(value.FormId.Value);
ele.Ip = value.UserIp.Value;
//etc.
}
}
和模型类一起使用:
public class Test
{
public int ArrayId { get; set; }
public int FormId { get; set; }
public string Ip { get; set; }
}