我需要将动态 JSON 对象传递到我的 Web API 控制器,以便我可以根据它的类型对其进行处理。我尝试过使用 JSON.NET 示例可以在这里看到但是当我使用Fiddler时,我可以看到传入的JObect始终为空。
这是粘贴到 Fiddler 中的示例的摘录:
POST http://localhost:9185/api/Auto/PostSavePage/ HTTP/1.1
User-Agent: Fiddler
Content-type: application/json
Host: localhost
Content-Length: 88
{AlbumName: "Dirty Deeds",Songs:[ { SongName: "Problem Child"},{ SongName:
"Squealer"}]}
这是我非常简单的 Web API 控制器方法:
[HttpPost]
public JObject PostSavePage(JObject jObject)
{
dynamic testObject = jObject;
// other stuff here
}
我对此很陌生,我对此领域有几个问题:
在这个特定的例子中我做错了什么吗?
可以说,更重要的是,是否有更好的方法来传递动态 JSON 对象(来自 JavaScript AJAX 帖子)?
根据 Perception 的评论,您的 JSON 看起来无效。运行它JSONLint你得到:
Parse error on line 1:
{ AlbumName: "Dirty De
-----^
Expecting 'STRING', '}'
将其更改为在字段名称周围包含“:
{
"AlbumName": "Dirty Deeds",
"Songs": [
{
"SongName": "Problem Child"
},
{
"SongName": "Squealer"
}
]
}
您还尝试过将 JObject 替换为 JToken 或动态对象(例如here)?
[HttpPost]
public JObject PostSavePage(JToken testObject)
{
// other stuff here
}
OR
[HttpPost]
public JObject PostSavePage(dynamic testObject)
{
// other stuff here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)