接口请求json解析问题

今天同事问请求公司内部接口返回的json无法用json_decode解析,然后我让他把请求结果写入文件,然后文件发给我试试。

在打开这个文件之后我发现第一句话是

这是很令人奇怪的,为什么会出现一个双引号在开头呢?我看了一下结尾 也有这个双引号。于是我首先想到了用trim去掉两边的双引号,代码如下:

如此操作后,发现仍然不能解析,我把这些数据拷贝到在线解析json的网站中,发现他们是可以解析的,这就很奇怪了,为什么会这样呢?

仔细观察了一下json结构体后,我怀疑是键中的双引号被反斜杠转义后导致的,于是,处理这个反斜杠即可,然而json编码中中文\u开头的也有反斜杠于是,要寻找特征进行替换。

代码如下:

这样一来,就替换掉了键和值两边的反斜杠而不影响内容,于是,再次json_decode后,发现可以解析了。

 代码效果如下:

 另外,LHC同学看我好久没更新博客,是不是怕我出现什么事情啊,哈哈哈。

良驹垂暮望苍天,

婆娑泪眼留人间。

少壮莫惧艰难险,

红鲤跃门笑开颜!

posted @ 2018-05-15 10:26  李照耀  阅读(2026)  评论(0编辑  收藏  举报