webservice返参的json里面,开头有个{d:

此行何去 2018-04-09 02:26:27
C#做的webservice返参的json里面,开头有个{d:
是直接在服务端返回的对象,POST application/json 方式获取的json开头是{d:
看起来是把对应反序列化的时候,把整个对象当成了一个初级的json转换了。
要怎么设置才可以不要这个{d:}啊?
(不是在客户端处理,是在服务端处理。)
...全文
1220 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
此行何去 2018-04-11
  • 打赏
  • 举报
回复
木有人吗? 这咋整啊?
此行何去 2018-04-11
  • 打赏
  • 举报
回复
事实证明我想多了。。。。 不要用webservice。。。 无解。。。。。 用一般处理程序写就行了。(还是和一个大神沟通了许久才出坑的)
极客诗人 2018-04-10
  • 打赏
  • 举报
回复
不就是你的json下面的.d吗。
lovebaby 2018-04-10
  • 打赏
  • 举报
回复
var datas = eval('(' + msg.d + ')');
参考:https://www.cnblogs.com/superfeeling/p/4698948.html
  • 打赏
  • 举报
回复
咦昨天看反了以为不是服务端处理要客户端处理呢,服务端你把方法返回和定义返回变量的结构发一下啊。
by_封爱 2018-04-10
  • 打赏
  • 举报
回复
没事 就这样的....不用管.. 让客户端自己解析去吧
此行何去 2018-04-10
  • 打赏
  • 举报
回复
引用 19 楼 dygaalove 的回复:
[quote=引用 18 楼 qq_34136525 的回复:] [quote=引用 17 楼 dygaalove 的回复:] [HttpPost] public ActionResult GetDefaultJsonByOpcon() { try { var entity = new OutFailDataMain(); return Json(JsonConvert.SerializeObject(entity)); } catch (Exception ex) { return Json(new { status = false, Message = ex.Message}); } }
ActionResult? 直接返回转换成json格式的字符串会有{d:开头[/quote] 1.需要确定服务端是不是在转换json后,就已经有d开头? 2.转换json用的什么方式 3. ActionResult并不重要,这只是个方式,string也可以,主要是JsonConvert.SerializeObject(entity)[/quote] 确定在服务端的json没有d: 是返回string类型用return json,而客户端获取的就带了个d: 服务端不返回(void),用Context.Response.Write返回,客户端会获取的json后面带个{d:null}
  • 打赏
  • 举报
回复
引用 18 楼 qq_34136525 的回复:
[quote=引用 17 楼 dygaalove 的回复:] [HttpPost] public ActionResult GetDefaultJsonByOpcon() { try { var entity = new OutFailDataMain(); return Json(JsonConvert.SerializeObject(entity)); } catch (Exception ex) { return Json(new { status = false, Message = ex.Message}); } }
ActionResult? 直接返回转换成json格式的字符串会有{d:开头[/quote] 1.需要确定服务端是不是在转换json后,就已经有d开头? 2.转换json用的什么方式 3. ActionResult并不重要,这只是个方式,string也可以,主要是JsonConvert.SerializeObject(entity)
此行何去 2018-04-10
  • 打赏
  • 举报
回复
引用 17 楼 dygaalove 的回复:
[HttpPost] public ActionResult GetDefaultJsonByOpcon() { try { var entity = new OutFailDataMain(); return Json(JsonConvert.SerializeObject(entity)); } catch (Exception ex) { return Json(new { status = false, Message = ex.Message}); } }
ActionResult? 直接返回转换成json格式的字符串会有{d:开头
  • 打赏
  • 举报
回复
[HttpPost] public ActionResult GetDefaultJsonByOpcon() { try { var entity = new OutFailDataMain(); return Json(JsonConvert.SerializeObject(entity)); } catch (Exception ex) { return Json(new { status = false, Message = ex.Message}); } }
此行何去 2018-04-10
  • 打赏
  • 举报
回复
换成你写的dictionary也是一样的。。
是不是有什么配置要设置的问题啊。
  • 打赏
  • 举报
回复
你再找找是不是有地方重写了,按照你的代码不应该有这样的返回。 还有就是这种没几列的json建议用dictionary,自定义类有点繁琐,可控性还不好。

            Dictionary<string,string> ofd = new Dictionary<string,string>() ;
            ofd.Add( "msgCode", "-1");
            ofd.Add("msg","错误");
            ofd.Add("data", "");
            return ofd;
此行何去 2018-04-10
  • 打赏
  • 举报
回复
如果方法void会用Context.Response.Write
引用 13 楼 xomix 的回复:
[quote=引用 11 楼 qq_34136525 的回复:] 服务端怎么处理才能去掉这个{d:的开头啊。。。
DataClass.OutFailDataMain  这东西的数据定义发一下。 [/quote] /// <summary> /// 返参错误信息 /// </summary> public class OutFailDataMain { public string msgCode { get; set; } public string msg { get; set; } public string data { get; set; } }
  • 打赏
  • 举报
回复
引用 11 楼 qq_34136525 的回复:
服务端怎么处理才能去掉这个{d:的开头啊。。。
DataClass.OutFailDataMain  这东西的数据定义发一下。
此行何去 2018-04-10
  • 打赏
  • 举报
回复
我换成Context.Response.Write输出服务端自己配置的json格式,最后成了这样 {"msgCode":"-1","msg":"错误","data":""}{"d":null} 末尾带了个{"d":null}。。。 这个又咋弄?
此行何去 2018-04-10
  • 打赏
  • 举报
回复
服务端怎么处理才能去掉这个{d:的开头啊。。。
此行何去 2018-04-10
  • 打赏
  • 举报
回复
引用 7 楼 xomix 的回复:
咦昨天看反了以为不是服务端处理要客户端处理呢,服务端你把方法返回和定义返回变量的结构发一下啊。
[WebMethod] public Object HW() { DataClass.OutFailDataMain ofd = new DataClass.OutFailDataMain(); ofd.msgCode = "-1"; ofd.msg = "错误"; ofd.data = ""; return ofd; } 直接返回的对象,正常转换成json应该是{ "msgCode":"-1","msg":"错误","data":""} 但是用postman 接收的就是{d:{ "msgCode":"-1","msg":"错误","data":""}}
此行何去 2018-04-09
  • 打赏
  • 举报
回复
不是客户端处理嘞。。。
likevs 2018-04-09
  • 打赏
  • 举报
回复
你理它干嘛,按3楼的取值就可以了
  • 打赏
  • 举报
回复
var obj={d:{"your":"json"}}; var newobj=obj.d;//newobj就是你要的东西了
加载更多回复(2)

62,247

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧