最近在做个项目是我作为服务端,要接收客户端post过来的json,客户端的配置如下:
可以向指定的IP和端口号的任意页面发送数据。我在IIS配置好了之后,用抓包软件抓到的数据如下(注:页面已改成getUserMessage.ashx):
然鹅。。。然鹅。。。我竟然不知道蓝色部分就是我的页面接收到的数据,并为此折腾了好几天,一直在尝试用JS和Ajax来接收,实在是愚昧也。。。
还有一个问题是,在这个过程中一直没搞清楚发送请求和响应请求的概念,所以说,基础一定要扎实。。。
然后尝试各种方法来让页面显示JSON数据,殊不知,这是没办法直接显示在页面上的。。。
最后,我在ashx里写了如下代码,请求数据并保存:
JSON数据实实在在保存下来了,代码里还有一句在页面输出json的语句,然而页面是nothing!
其实最后找到这个办法也是偶然,本来我在判断数据流长度不为零的代码里写了一句context.Response.Write("Hello"),想看看到底数据流存不存在,没想到虽然页面没有输出"Hello",但是我在抓包软件里看到了"Hello",我就意识到,数据流确实是存在的,就用了一句request.SaveAs把得到的数据保存下来。
所以整个过程还是要抓包软件的配合。
对于我的JSON数据,解析方式如下(要先引用Newtonsoft.Json.dll,百度下载即可):