我正在将骨干MVC框架用于客户端应用程序。它将JSON数据POST到asp.net应用程序,而不是asp MVC应用程序。我如何收到我的JSON数据? JSON字符串是HttpRequest
对象中的某个位置吗? .NET解码JSON字符串吗?我希望能够在C#中提供对象或模型,并在反序列化JSON字符串时使用此对象,但在HTTP Post操作期间我可以在哪里访问json字符串?
答案 0 :(得分:4)
JSON.net工作得很好。
Stream s = Request.InputStream;
StreamReader sr = new StreamReader(s);
Newtonsoft.Json.Linq.JObject jObj = Newtonsoft.Json.Linq.JObject.Parse(sr.ReadLine());
string name = (string)jObj["name"];
答案 1 :(得分:1)
使用Fiddler,请求是什么样的?我想它会发送附加到特定键字段的JSON。如果没有关键字段,那么您应该只能将Request.InputStream
直接读入字符串,然后对其进行反序列化。
答案 2 :(得分:0)
回答你的问题:
如何接收我的JSON数据?
它至少会在您的Request.Form
变量集中(即,如果您将表单发布到ASP.NET页面)。它是一个名称 - 值集合,因此您应该可以从那里访问它。
HSONpRequest对象中的JSON字符串是什么?
是的 - 它应该是Request.Form
的一部分。
.NET是否解码JSON字符串? 只有你告诉它。在WCF服务中,您可以指定WebMessageFormat(XML或JSON)。在MVC中,您可以相应地处理JSON数据。您需要使用自定义处理程序处理此问题或自行解码。
希望这会有所帮助。如果您有特定情况,请提供一些示例代码或提供更多详细信息,我会更新我的答案。