微信小程序有一个jscode2session接口用来获取sessionkey和用户在该小程序下的openid,
但是我接口这边接收到的json格式数据会被自动转义,然后处理的时候就会被二次转义,前台进行处理就会出现错误,请求这个问题有解决的方案吗?
我目前的操作就是使用 replace 替换,然后使用正则提取,但是我想直接把微信那边的数据传回去,因为不能每一个接口都这样去弄,太麻烦了。
这里是接口里面的代码
string url = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", WXConfig.appid, WXConfig.secret, model.js_code);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("utf-8");
StreamReader reader = new StreamReader(streamReceive, encoding);
string res = reader.ReadToEnd();
这是微信返回的数据
"{\"errcode\":40029,\"errmsg\":\"invalid code, hints: [ req_id: YeGbP0yFe-u2v6Aa ]\"}"
使用 Content 取代 Json 返回字符串
return Content(res, "application/json");
谢谢你的答案
但问题是出现在别的地方了,我后续工具类有一个对象转json的方法将这个串再次转义了,现在找到问题并解决了