Android判断json格式将错误信息提交给服务器
开发中发现, 服务器偶尔会发送错误格式 json 给 Android 客户端, 导致 Android 客户端 json解析失败, 应用异常.
并非服务器有意坑客户端, 而是客户端请求服务器数据时, 除了得到正确 json 数据外, 数据可能还夹杂其它数据.
例如:
thinkPHP 开启 'SHOW_PAGE_TRACE '=> true
时, 正确的 json 后面会夹杂HTML代码,
解决办法:
1. 将 'SHOW_PAGE_TRACE ' =>false
, 设置为false. 不过不太实际, 因为服务器可能会出现问题, 这时候需要开启调试模式
2. 客户端判断 json 解析失败, 使用 try catch 判断json格式
(1) 客户端判断json格式
(2) 客户端通过volley 的 post 方法将数据提交到服务器
(3) 服务器通过 I() 方法获取客户端提交的信息, 这里的 I() 方法是thinkPHP中的一个方法, 是获取所有提交信息的方法, 无论客户端通过任何方式提交, 都会获取其键值对
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
详解JSON和JSONP劫持以及解决方法
json劫持 json劫持攻击又为"JSON Hijacking",攻击过程有点类似于csrf,只不过csrf只管发送http请求,但是json-hijack的目的是获取敏感数据. 一些web应用会把一些敏感数据以json的形式返回到前端,如果仅仅通过cookie来判断请求是否合法,那么就可以利用类似csrf的手段,向目标服务器发送请求,以获得敏感数据. 比如下面的链接在已登录的情况下会返回json格式的用户信息: http://www.test.com/userinfo 攻击者可以在
-
MySQL5.7中的JSON基本操作指南
前言 因为项目需要,存储字段存储成了JSON格式,在项目中是将查询出来的值通过jackson转成相应的bean进行处理的,觉得不够简单方便. MySQL从5.7版本开始就支持JSON格式的数据,操作用起来挺方便的. 建表 在新建表时字段类型可以直接设置为json类型,比如我们创建一张表: mysql> CREATE TABLE `test_user`(`id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `info`
-
vue基础之使用get、post、jsonp实现交互功能示例
本文实例讲述了vue基础之使用get.post.jsonp实现交互功能.分享给大家供大家参考,具体如下: 一.如果vue想做交互,引入: vue-resouce 二.get方式 1.get获取一个普通文本数据: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style>
-
使用post方法实现json往返传输数据的方法
问题所在: 当我们想让应用层和http之间的所有接口都采用json,这样,客户端代码就可以纯碎用javascript的对象来编写,服务器打啊也可以纯粹的用Java的对象来编写. 我们使用的是post请求的方法,有些不同于get的方法! 客户端html代码: <html> <head> <title>Hello Ajax version 5a</title> <style type='text/css'> * { font-family: Taho
-
详解关于JSON.parse()和JSON.stringify()的性能小测试
JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了,就是利用 JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象.至于这行代码为什么能实现深拷贝,以及它有什么局限性等等,不是本文要介绍的.本文要探究的是,这行代码的执行效率如何?如果随意使用会不会造成一些问题? 先上两个js性能测试的依赖函数 /** * 一个简单的断言函数 * @param value {Boolean} 断言条件 *
-
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
本文实例讲述了微信小程序使用wx.request请求服务器json数据并渲染到页面操作.分享给大家供大家参考,具体如下: 微信小程序的数据总不能写死吧,肯定是要结合数据库来做数据更新,而小程序数据主要是json数据格式,所以我们可以利用php操作数据库,把数据以json格式数据输出即可.现在给大家讲一下,微信小程序的wx.request进行服务器数据请求的用法: 官方文档给出了示例代码,但是我这边自己进行了简单的处理: index.js Page({ data: { }, onLoad: fun
-
Java中json与javaBean几种互转的讲解
一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: public class Student { //姓名 private String name; //年龄 private String age; //住址 private String address; public String getName() { return name; } public void setName(String name) { this.name = name; }
-
C#网络请求与JSON解析的示例代码
最新学校的海康摄像头集控平台(网页端)不能在win10里登录,我寻思着拿海康的c# demo直接改. 首先得解决权限问题,每个教师任教不同年级,只能看到自己所在年级的设备,涉及到登录,在此记录一下C#中网络请求和数据处理的一些内容.大致流程为: 客户端发起登录请求: 服务端验证账号密码 返回json字符串,包含用户信息.平台配置等信息 客户端解析并初始化 一.发起GET请求 private string HttpGet(string api) { string serviceAddress =
-
SpringMVC接收与响应json数据的几种方式
前言 前后端的数据交互,除了通过form表单进行提交外,也可以通过ajax向后端传递和接收json格式数据(这种方式可以实现请求数据和页面分离).本文将总结一下在Spring MVC中接收和响应json数据的几种方式. 话不多说了,来一起看看详细的介绍吧 准备步骤: 1.导入json相关框架的依赖(比如jackson). 2.spring mvc的controller方法正常写,如果需要响应json,增加@responsebody注解. 3.在接受json对应的输入参数前,加上@RequestB
-
Python JSON格式数据的提取和保存的实现
环境:python-3.6.5 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. Python中自带了json模块,直接import json即可使用 官方文档:https://docs.python.org/3/library/json.html Json在线解析网站:https://www.json.cn/# j
随机推荐
- OAuth认证协议中的HMACSHA1加密算法(实例)
- 过滤所有HTML代码和CSS,JS
- Python创建日历实例
- asp.net TemplateField模板中的Bind方法和Eval方法
- 详解yii2实现分库分表的方案与思路
- PHP 实现等比压缩图片尺寸和大小实例代码
- 1 秒内启动Linux的方法
- C#利用win32 Api 修改本地系统时间、获取硬盘序列号
- JS下拉框内容左右移动效果的具体实现
- PHP中foreach循环中使用引用要注意的地方
- JavaScript中的字符串操作详解
- javascript抖动元素的小例子
- Java新手入门的30个基本概念
- 点击表单提交时出现jQuery没有权限的解决方法
- 特殊字符、常规符号及其代码对照表
- 分享CentOS下MySQL最新版本5.6.13源码安装过程
- js Firefox 加入收藏夹功能代码 兼容Firefox 和 IE
- 热点新闻滚动特效的js代码
- PHP之短标签开启设置
- Android用Scroller实现一个可向上滑动的底部导航栏