Webservice返回json数据格式
问题:
我将结果内容用字符串拼接成Json数据并返回的时候,会在结果前面添加xml头部,结果如下。
- <span ><string xmlns="http://tempuri.org/">
- {"data":[{"batchId":"B001","produceOrderId":"", "produceFactory":"","addTime":"2014/7/8 15:09:00","remark":"","parentId":""},{"batchId":"B002","produceOrderId":"生产订单2", "produceFactory":"测试公司1","addTime":"2014/7/8 8:00:00","remark":"","parentId":"B001"},{"batchId":"B003","produceOrderId":"生产订单3", "produceFactory":"测试公司2","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B001"},{"batchId":"B004","produceOrderId":"生产订单4", "produceFactory":"测试公司3","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B002"},{"batchId":"B005","produceOrderId":"生产订单5", "produceFactory":"测试公司4","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B004"},{"batchId":"B006","produceOrderId":"生产订单6", "produceFactory":"外包公司1","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B005"}]}
- </string></span>
产生如上数据的Webservice接口代码如下。
- <span > [WebMethod]
- public String GetQrCodeList(String qrCode)
- {
- return PriGetQrCodeList(qrCode);
- }
- /// <summary>
- /// 获取关联的二维码树结构
- /// </summary>
- /// <param name="qrCode">产品二维码</param>
- /// <returns></returns>
- private String PriGetQrCodeList(String qrCode)
- {
- try
- {
- String sfull = "{{\"data\":[{0}]}}";
- String spart = "{{\"batchId\":\"{0}\",\"produceOrderId\":\"{1}\", \"produceFactory\":\"{2}\",\"addTime\":\"{3}\",\"remark\":\"{4}\",\"parentId\":\"{5}\"}}";
- String sData = "";
- DataTable dt = bll.GetQrCodeList(qrCode);
- if (dt == null || dt.Rows.Count == 0) return "";
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- sData += (String.Format(spart,
- dt.Rows[i]["BatchId"].ToString(),
- dt.Rows[i]["ProduceOrderId"].ToString(),
- dt.Rows[i]["ProduceFactory"].ToString(),
- dt.Rows[i]["AddTime"].ToString(),
- dt.Rows[i]["Remark"].ToString(),
- dt.Rows[i]["ParentId"].ToString()) + ",");
- }
- return String.Format(sfull, sData.TrimEnd(','));
- }
- catch (Exception)
- {
- return "";
- }
- }</span>
解决方案:
改变数据的返回方式,用 Context.Response.Write代替return 语句,修改GetQrCodeList方法如下即可返回正确的Json格式数据。
- <span > [WebMethod]
- public void GetQrCodeList(String qrCode)
- {
- Context.Response.Charset = "GB2312"; //设置字符集类型
- Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
- Context.Response.Write(PriGetQrCodeList(qrCode));
- Context.Response.End();
- }</span>
返回结果如下:
- <span >{"data":[{"batchId":"B001","produceOrderId":"", "produceFactory":"","addTime":"2014/7/8 15:09:00","remark":"","parentId":""},{"batchId":"B002","produceOrderId":"生产订单2", "produceFactory":"测试公司1","addTime":"2014/7/8 8:00:00","remark":"","parentId":"B001"},{"batchId":"B003","produceOrderId":"生产订单3", "produceFactory":"测试公司2","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B001"},{"batchId":"B004","produceOrderId":"生产订单4", "produceFactory":"测试公司3","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B002"},{"batchId":"B005","produceOrderId":"生产订单5", "produceFactory":"测试公司4","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B004"},{"batchId":"B006","produceOrderId":"生产订单6", "produceFactory":"外包公司1","addTime":"2014/7/8 0:00:00","remark":"","parentId":"B005"}]}</span>
Webservice返回json数据格式的更多相关文章
- MVC返回JSON数据格式书写方式
返回json数据格式,多个返回值加,隔开 [Route("api/users/web")] //如果不加这个路由请这样调用:/api/users/web?schoolname=十五 ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- ASP.net jQuery调用webservice返回json数据的一些问题
之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, ...
- jQuery调用WebService返回JSON数据
相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. ...
- Mui.ajax请求服务器正确返回json数据格式
ajax: mui.ajax('http://server-name/login.php',{ data:{ username:'username', password:'password' }, d ...
- 转:spring mvc返回json数据格式
转:http://www.cnblogs.com/ssslinppp/p/4675495.html <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: ...
- asp.net webservice返回json问题
使用jQuery $.ajax方法请求webservice 一.方法返回值为string,将json格式的字符串返回 设置contentType为"application/json;char ...
- 亲测 asp.net 调用 webservice返回json
前端脚本 $("#sure").click(function () { var tbody = $("#putsigal tbody"); var trs = ...
- Laravel自定义 封装便捷返回Json数据格式引用
一般返回数据格式 return response()->json(['status' => 'success','code' => 200,'message' => '关注成功 ...
随机推荐
- Java——关于num++和++num
public class num_add_add { public static void numAdd(){ int num = 10; int a = num++; System.out.prin ...
- asp.net mvc 中[Authorize]在IE9以上版本关于FormsAuthentication.SetAuthCookie无效的问题 解决方案
简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file) 叫“App_Browsers”文件夹,然后里面放一个“IE10.browser”文件即可,网站 ...
- mysql 原理 ~ 常规锁
一 模式 RR模式二 mysql锁相关场景 1 有间隙的地方就可能有间隙锁,并非只有辅助索引的场景下才会存在gap lock,典型场景 id主键的范围查询 2 varchar的范围锁定原理和int ...
- 实例详析ImageView的adjustViewBonds和scaleType
android:adjustViewBounds是否保持宽高比.需要与maxWidth.MaxHeight一起使用,否则单独使用没有效果. 设置View的最大高度,单独使用无效,需要与setAdjus ...
- linux笔记_day04
1.cat 连接并显示 -n 显示行号 -E END 显示行尾 2.tac 从后往前显示 3.ctrl +C 4.more 向后翻 到最后会退出 5.less 翻到最后不退出 常用 支持b k sp ...
- Dubbo本地存根
在远程调用服务提供者的实现之前,如果需要做一些参数验证.缓存.判断.小功能等等,满足要求再调用服务提供者的远程服务,则我们可以通过编写一个本地存根来实现这种功能. (1).在公共项目中或服务消费者项目 ...
- 图文并茂的Python教程-numpy.pad
图文并茂的Python教程-numpy.pad np.pad()常用与深度学习中的数据预处理,可以将numpy数组按指定的方法填充成指定的形状. 声明: 需要读者了解一点numpy数组的知识np.pa ...
- MR运动静止用户区分
1.客户端打开菜单[MR]-[MR室内室外判定设置] 设置主小区是室外站且主小区信号比较强时RSRP门限 2.设置"上报数据用户临小区切换次数门限设置"值为15 mysql中t_m ...
- VS C# xamarin 开发android 调试正常 发布分发后运行闪退出错
我强烈推荐大家如果不是很有必要就不要引用一些.NET STD的库,比如json库newtonsoft.JSON,直接引用官方的system.Json就足够了,否则会导致体积变得巨大 好了废话不多说,这 ...
- MonkeyRunner之MonkeyRecorder录制回放脚本(亲测可正常运行)
MonkeyRunner可以录制和回放脚本 前置条件: 电脑连接手机,输入adb devices 看看返回是否手机设备列表(我是真机,模拟器也可以) 配置好安卓sdk和Python环境 step: 1 ...