热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP返回JSON数据给android端

描述你的问题这样的,我android端从PHP的API读取一段JSON数据,发现老是出错,错误如下:{代码...}然后我用网页查看了一下JSON数据,发现没有错。也就是说PHP端是正常返回JSON数据然后就是在android端出错了。...
  1. 描述你的问题
    这样的,我android端从PHP的API读取一段JSON数据,发现老是出错,错误如下:

02-13 21:06:15.313 13317-13317/? E/onError: unexpected end of stream on okhttp3.Address@eb5a1980

然后我用网页查看了一下JSON数据,发现没有错。也就是说PHP端是正常返回JSON数据
然后就是在android端出错了。

然后我怀疑是JSON数据量太多了。。
我一点一点地增加JSON的数据量,发现一开始,android接收到的数据是正常了。。。好奇怪,然后到一定量的时候,Logcat输出的JSON数据我发现不对了。。。

这里好像看不清,但是,这个JSON数据不是完整的,也就是最后被截断了一些。。。所以出现了这个错误:unexpected end of stream on okhttp3.Address@eb5a1980,PS,我用的是 Okhttp3 这个网络访问库。。。
我用的是POST请求,百度说没有限制传输量。。。这么一点数据也不会很多吧。。。
该怎么解决这个问题?
还有,我想返回的是中文,,,这里怎么变成了 \u 之类的。。。?

回复内容:

  1. 描述你的问题
    这样的,我android端从PHP的API读取一段JSON数据,发现老是出错,错误如下:

02-13 21:06:15.313 13317-13317/? E/onError: unexpected end of stream on okhttp3.Address@eb5a1980

然后我用网页查看了一下JSON数据,发现没有错。也就是说PHP端是正常返回JSON数据
然后就是在android端出错了。

然后我怀疑是JSON数据量太多了。。
我一点一点地增加JSON的数据量,发现一开始,android接收到的数据是正常了。。。好奇怪,然后到一定量的时候,Logcat输出的JSON数据我发现不对了。。。

这里好像看不清,但是,这个JSON数据不是完整的,也就是最后被截断了一些。。。所以出现了这个错误:unexpected end of stream on okhttp3.Address@eb5a1980,PS,我用的是 Okhttp3 这个网络访问库。。。
我用的是POST请求,百度说没有限制传输量。。。这么一点数据也不会很多吧。。。
该怎么解决这个问题?
还有,我想返回的是中文,,,这里怎么变成了 \u 之类的。。。?

\u是中文的unicode编码

抓包,看下问题出在哪里

没有限制传输量,但调用的接口是否有限制呢?

如果电脑上有chrmoe浏览器,可以安装一个json-handle插件,就知道json格式对不对了,而且自动解析json方便查看

json_encode函数加JSON_UNESCAPED_UNICODE参数会显示成中文
不清楚你是什么业务,数据量太大了就分页处理

\u是unicode编码,json编码的时候中文会被转成unicode编码,这个正常,从你截图看,是数据被截取了,你看看你接收数据的方法有没对返回数据做截取,最好是装个抓包软件或者在浏览器里面访问,看看服务端返回的数据是否正常,如果正常就是接收数据的问题。

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
author-avatar
孔红MJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有