失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > js string转json有斜杠_如何过滤掉json字符串里面的反斜杠

js string转json有斜杠_如何过滤掉json字符串里面的反斜杠

时间:2021-06-23 16:41:30

相关推荐

js string转json有斜杠_如何过滤掉json字符串里面的反斜杠

—-

引用楼主iqv520的回复:

最近看oauth2.0QQ登录方面的东西,根据/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID换成自己的东西去访问时,后台看到返回的json字符串是下面的形式:”{\n\”ret\”:0,\n\”msg\”:\”\”,\n\”nickname\”:\”hello\”,\n\”gender\”:\”男\”,\n\”figureurl\”:\”http:\\/\\/\\/qzapp\\/100498747\\/F99597DE0A73FE5A4854DBBBE7BAD64E\\/30\”}

请问如何将这个字符串转换成json对象呢?为什么http路径那里有两个反斜杠?

你输出看看

—-

引用1楼shimin555的回复:

Quote: 引用楼主iqv520的回复:

最近看oauth2.0QQ登录方面的东西,根据/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID换成自己的东西去访问时,后台看到返回的json字符串是下面的形式:”{\n\”ret\”:0,\n\”msg\”:\”\”,\n\”nickname\”:\”hello\”,\n\”gender\”:\”男\”,\n\”figureurl\”:\”http:\\/\\/\\/qzapp\\/100498747\\/F99597DE0A73FE5A4854DBBBE7BAD64E\\/30\”}

请问如何将这个字符串转换成json对象呢?为什么http路径那里有两个反斜杠?

你输出看看

输出就变成:{“ret”:0,“msg”:“”,“nickname”:“hello”,“gender”:“男”,“figureurl”:“http:\/\/\/qzapp\/100498747\/F99597DE0A73FE5A4854DBBBE7BAD64E\/30”}了,那个figureurl多了反斜杠啊

—- 20分

Replace(“\\”,”\”)

—-

字符串里面的\n是转义表示法,其实还有\u1234这样的unicode表示法,都表示某个字符,不能将其过滤,过滤了就失去了它本来的含义,实际打印内容时,会自动处理为对应字符的。

—-

输出后,就自动处理了,没有了

—-

引用4楼qldsrx的回复:

字符串里面的\n是转义表示法,其实还有\u1234这样的unicode表示法,都表示某个字符,不能将其过滤,过滤了就失去了它本来的含义,实际打印内容时,会自动处理为对应字符的。

前面打印都还正确,到http那里打出来就多了个反斜杠了,得到的url不正确

—- 15分

原来你说的是http后面的反斜杠,那个的确是数据本身的错误,但是我有点不敢相信,QQ居然会犯这种低级错误,看来树大有蛀虫啊,写这接口的人水平不行,自己进行Json字符串拼接的时候,多输出了一次反斜杠。

对于这种错误数据,既然你已经知道问题了,那么处理也不难,只要对反序列化后的结果处理下即可,将figureurl属性中的“http:\/\/”替换为”http://”就没事了,如果所有的http://都是这个德性,你也可以直接原始字符串匹配替换,匹配所有“http:\/\/”替换为”http://”

—- 5分

引用2楼iqv520的回复:

Quote: 引用1楼shimin555的回复:

Quote: 引用楼主iqv520的回复:

最近看oauth2.0QQ登录方面的东西,根据/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID换成自己的东西去访问时,后台看到返回的json字符串是下面的形式:”{\n\”ret\”:0,\n\”msg\”:\”\”,\n\”nickname\”:\”hello\”,\n\”gender\”:\”男\”,\n\”figureurl\”:\”http:\\/\\/\\/qzapp\\/100498747\\/F99597DE0A73FE5A4854DBBBE7BAD64E\\/30\”}

请问如何将这个字符串转换成json对象呢?为什么http路径那里有两个反斜杠?

你输出看看

输出就变成:{“ret”:0,“msg”:“”,“nickname”:“hello”,“gender”:“男”,“figureurl”:“http:\/\/\/qzapp\/100498747\/F99597DE0A73FE5A4854DBBBE7BAD64E\/30”}了,那个figureurl多了反斜杠啊

对啊没问题的你把json解析后就能用了

—-

引用8楼shimin555的回复:

Quote: 引用2楼iqv520的回复:

Quote: 引用1楼shimin555的回复:

Quote: 引用楼主iqv520的回复:

最近看oauth2.0QQ登录方面的东西,根据/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID换成自己的东西去访问时,后台看到返回的json字符串是下面的形式:”{\n\”ret\”:0,\n\”msg\”:\”\”,\n\”nickname\”:\”hello\”,\n\”gender\”:\”男\”,\n\”figureurl\”:\”http:\\/\\/\\/qzapp\\/100498747\\/F99597DE0A73FE5A4854DBBBE7BAD64E\\/30\”}

请问如何将这个字符串转换成json对象呢?为什么http路径那里有两个反斜杠?

你输出看看

输出就变成:{“ret”:0,“msg”:“”,“nickname”:“hello”,“gender”:“男”,“figureurl”:“http:\/\/\/qzapp\/100498747\/F99597DE0A73FE5A4854DBBBE7BAD64E\/30”}了,那个figureurl多了反斜杠啊

对啊没问题的你把json解析后就能用了

或者你让给你传JSON的文件滤掉那两个斜杠

—-

QQ专为lz服务?不然怎么会如此啊?

—-

最终是通过replace进行处理,或者勤快点自己写个json的解析类

—-

引用10楼sp1234的回复:

QQ专为lz服务?不然怎么会如此啊?

可能白金VIP服务。

—-

引用11楼iqv520的回复:

最终是通过replace进行处理,或者勤快点自己写个json的解析类

替换不掉啊,怎么回事?

s1=s1.Replace(“\\”,“”);

—-

其实它的\”是一个双引号的转义字符,在MVC中直接returnContent(json字符串)就行了。

如果觉得《js string转json有斜杠_如何过滤掉json字符串里面的反斜杠》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。