如何去掉Json字符串中反斜杠
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何去掉Json字符串中反斜杠相关的知识,希望对你有一定的参考价值。
原来你说的是http后面的反斜杠,那个的确是数据本身的错误,但是我有点不敢相信,QQ居然会犯这种低级错误,看来树大有蛀虫啊,写这接口的人水平不行,自己进行Json字符串拼接的时候,多输出了一次反斜杠。对于这种错误数据,既然你已经知道问题了,那么处理也不难,只要对反序列化后的结果处理下即可,将figureurl属性中的“http:\/\/”替换为"http://"就没事了,如果所有的http://都是这个德性,你也可以直接原始字符串匹配替换,匹配所有“http:\/\/”替换为"http://" 参考技术A 你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,
$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);
转换即可。本回答被提问者和网友采纳
如何计算字符串中反斜杠“\”的数量[重复]
【中文标题】如何计算字符串中反斜杠“\\”的数量[重复]【英文标题】:How to count number of backslash "\" in a string [duplicate]如何计算字符串中反斜杠“\”的数量[重复] 【发布时间】:2017-12-13 19:53:39 【问题描述】:如何计算字符串中反斜杠的数量? 我尝试了以下方法,但都没有奏效。
string s = @"\a\a\n\u\u0013((((\a\b\n"; // output must be 8
int count = s.Count(a => a == "\\"); // Operator == cant be applied of type char & string
int count = s.Count(a => a == "\"); // newline in constant
int count = s.Split('\\').Length // it doesnt count
【问题讨论】:
对于您的每个问题,简单的谷歌搜索都会产生大量帖子,就像我选择用来结束您的问题的帖子一样。下次问问题之前请多加小心。 【参考方案1】:您的第一次尝试几乎是正确的;但是你需要比较一个字符和一个字符,而不是一个字符和一个字符串。
你的代码应该是:
int count = s.Count(a => a == '\\');
【讨论】:
我试过你的建议,没有错误,但结果仍然为零 @Vincent 那么您必须针对另一个字符串进行测试。我已经逐字运行代码,它打印出 8。以上是关于如何去掉Json字符串中反斜杠的主要内容,如果未能解决你的问题,请参考以下文章