.net mvc服务端怎么接收客户端的发送的json数据?

 我来答
du瓶邪
推荐于2016-04-26 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2867万
展开全部
在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内容转为a=1&b=2&c=3&d=4&e=5这样的格式传输过去,接收端则可以用javabean直接接收。
还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需要注意的是接收的需要是json串,而不是json对象,可以在发送前使用JSON.stringify函数进行处理。
例子如下
客户端:
var url=path+'testConverter.html';
$.ajax( {
url : url,
type : "POST",
dataType:"json",
contentType:'application/json;charset=UTF-8',
data:JSON.stringify({userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'}),
success : function(data) {
alert(data.userName);

},
error:function(e){
alert("err");
}

服务端:
@RequestMapping(value="/testConverter.html")
@ResponseBody
public User testConverter(@RequestBody User user)
{
System.out.println(user.getUserName());
user.setUserName("testname");
return user;
}

上面例子中服务端返回的是个对象,@ResponseBody函数会自动将其转换为客户端要求的‘ dataType:"json",’格式。

最后需要注意的是
1,在xxx-serverlet配置文件中应该写上,以便可以使用 @ResponseBody和@RequestBody
2,发送时要写上 contentType:'application/json'
3,数组内容要用[]而不是list,用list会接收到一个map对象,而不是bean。
溏彦欧巴
2012-07-25 · TA获得超过109个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:115万
展开全部
拼接啊;
string json = "{newstitle:'" + dt.Rows[0][1].ToString() + "',newscontent:'" + dt.Rows[0][2].ToString() + "',userid:'" + dt.Rows[0][3].ToString() + "',ntime:'" + dt.Rows[0][4].ToString() + "'}";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瓢瓢5r
2012-07-24 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:123万
展开全部
这个很简单,mvc3 已经有对json的绑定了。给你看个文章,你就知道了。
http://blog.csdn.net/qq4267002/article/details/6914643 希望我的回答会给您带来帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式