将JSON数据发布到asp.net应用程序

时间:2012-01-18 20:35:53

标签: c# asp.net-mvc json backbone.js

我正在将骨干MVC框架用于客户端应用程序。它将JSON数据POST到asp.net应用程序,而不是asp MVC应用程序。我如何收到我的JSON数据? JSON字符串是HttpRequest对象中的某个位置吗? .NET解码JSON字符串吗?我希望能够在C#中提供对象或模型,并在反序列化JSON字符串时使用此对象,但在HTTP Post操作期间我可以在哪里访问json字符串?

3 个答案:

答案 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数据。您需要使用自定义处理程序处理此问题或自行解码。

希望这会有所帮助。如果您有特定情况,请提供一些示例代码或提供更多详细信息,我会更新我的答案。