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

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

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

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

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

代码如下:

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

代码效果如下:

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

良驹垂暮望苍天,

婆娑泪眼留人间。

少壮莫惧艰难险,

红鲤跃门笑开颜!

接口请求json解析问题的更多相关文章

  1. python接口自动化--json解析神器jsonpath

    前言 做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言. 当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往在返回结果取值上浪费很多时间.一直在寻 ...

  2. IOS SWIFT 网络请求JSON解析 基础一

    前言:移动互联网时代,网络通信已经是手机端必不可少的功能.应用中也必不可少地使用了网络通信,增强客户端与服务器交互.使用NSURLConnection实现HTTP的通信.NSURLConnection ...

  3. 接口测试——Java + TestNG 国家气象局接口(json解析)实例

    后端测试,主要以测试接口为主.需要代码支撑,近期便找了个天气接口捣鼓了. 使用到的工具是:Eclipse + TestNG + Maven + ReportNG,全国城市编码:http://www.c ...

  4. Win(Phone)10开发第(3)弹,简单的Demo程序网络请求json解析列表显示

    先分享一个由Json字符串直接生成解析对应的类的工具: jsonclassgenerator14 百度天气接口 下面是由一个小功能(又特么的是天气)的实现,记录下下UAP的流程和结构(其实跟之前一模一 ...

  5. Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

    最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所 ...

  6. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  7. 记一次sql server 2005访问http接口,并解析json的过程

    记一次sql server 2005访问http接口,并解析json的过程  JSON解析官方网站:https://www.red-gate.com/simple-talk/sql/t-sql-pro ...

  8. iOS 自己封装的网络请求,json解析的类

    基本上所有的APP都会涉及网络这块,不管是用AFNetWorking还是自己写的http请求,整个网络框架的搭建很重要. 楼主封装的网络请求类,包括自己写的http请求和AFNetWorking的请求 ...

  9. IOS-网络(HTTP请求、同步请求、异步请求、JSON解析数据)

    // // ViewController.m // IOS_0129_HTTP请求 // // Created by ma c on 16/1/29. // Copyright © 2016年 博文科 ...

随机推荐

  1. linq操作符:分区操作符

    Linq中的分区指的是在不重新排列元素的情况下,将输入序列划分为两部分,然后返回其中一个部分的操作. 一.Take操作符 Take(int n)表示将从序列的开头返回数量为n的连续元素,常用于分页.其 ...

  2. 逐行分析jQuery源码

    注意:本次源码分析选择2.0.3(因为不支持IE6.7.8,就少了很多兼容的hack的写法,对了解jQuery的实现原理有很大的帮助) 1.jQuery有不同的版本,从2.x版本便不再支持IE6.7. ...

  3. js json处理 双引号

    在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象 JSON字符串: var str1 = '{ "name": "cxh", ...

  4. 微信小程序——页面中调用组件方法

    我现在有一个弹层的组件(popup),组件里面定义了显示组件(showPopup)和隐藏组件(hidePopup)的方法. 我们如何在调用组件的页面中调用组件里面的方法呢? 在调用组件的页面写如下代码 ...

  5. 升级ndk后Android studio的build错误

    上周末升级了ndk,应该是最新版的v17.0版本了,当时也没测试,屁颠屁颠的就回家撸猫了... 今天一跑代码在build时报错: ABIs [armeabi] are not supported fo ...

  6. Sword websocket分析二

    //websocket发送数据 int send(uint8_t* message, uint64_t message_size) { //掩码 ] = { 0x12, 0x34, 0x56, 0x7 ...

  7. (笔记)Mysql命令create table:创建数据表

    create table命令用来创建数据表. create table命令格式:create table <表名> (<字段名1> <类型1> [,..<字段 ...

  8. vector 用法小例子

    1. vector<int> vec; vec.push_back(1); 2. vector<int> vec(10); vec[0] = 1;

  9. Wireshark 捕获过滤器的语法

    转自:http://blog.csdn.net/qq_29277155/article/details/52077239 前言 我们都知道,wireshark可以实现本地抓包,同时Wireshark也 ...

  10. Maven目标

    Maven主要目标是提供给开发人员: 项目是可重复使用,易维护,更容易理解的一个综合模型. 插件或交互的工具,这种声明性的模式. Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目 ...