PHP学习 - 返回的json对象变成了字符串
2017-09-27 15:23
381 查看
在使用PHP做开发的时候,作为后台通常使用输出一个Json字符串来返回数据。 正常情况下一般有两种情况可以做。
在PHP端定义Header
或者在前端控制:
post请求添加dataType
这两种方式都可以让返回的内容识别Json格式,然后这样就能够在前台当做Json格式来展示了。但是有时候会出现问题。
由于在开发过程中难免要引入第三方的PHP类库文件,所以在引入的时候,会导致文件出现特殊字符,例如: windows格式特有的换行等等。或者utf8DOM格式的文件,这都是出现问题的情况
json_encode失败或者重复
在json_encode一个不是数组的数据的时候,或者重复json_encode都会造成这种情况
json_encode则是在编码的时候需要注意。
note : 推荐下我写的php的mvc框架。里面集成了微信开发的一些类库 使用起来很方便。
https://github.com/chenfushan/simple-php
PHP返回JSON方案
在后台控制:在PHP端定义Header
header('Content-Type:application/json; charset=utf-8');
echo json_encode(array(result))
或者在前端控制:
post请求添加dataType
dataType : 'json'
这两种方式都可以让返回的内容识别Json格式,然后这样就能够在前台当做Json格式来展示了。但是有时候会出现问题。
出现问题情况
文件编码问题由于在开发过程中难免要引入第三方的PHP类库文件,所以在引入的时候,会导致文件出现特殊字符,例如: windows格式特有的换行等等。或者utf8DOM格式的文件,这都是出现问题的情况
json_encode失败或者重复
在json_encode一个不是数组的数据的时候,或者重复json_encode都会造成这种情况
解决方案
对于文件编码的方案就是新建一个文件,然后把有问题的文件内容拷贝到另外一个文件里。json_encode则是在编码的时候需要注意。
note : 推荐下我写的php的mvc框架。里面集成了微信开发的一些类库 使用起来很方便。
https://github.com/chenfushan/simple-php
相关文章推荐
- Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题
- PHP返回JS是JSON格式的字符串,转换为对象
- Spring MVC学习笔记——返回JSON对象
- php中json_decode返回数组或对象
- 基于jsonkit,缓存(缓存对象 是服务器返回的整个json字符串)工具类,
- JSon字符串转JSon对象,使JSP页面直接返回JSON对象
- php中json_decode返回数组或对象的实例
- springMVC 【@response 返回对象自动变成json并且防止乱码】 & 【配置支持实体类中的@DateTimeFormat注解】
- JS中json字符串和json对象之间的转换,PHP中json字符串和php数组之间的转换
- $.ajax传递字符串到后台,后台返回json对象
- JSON PHP中,Json字符串反序列化成对象/数组的方法
- python解析json字符串并返回支持属性访问的对象
- ajax返回json字符串转换为JSON对象
- php json字符串转为数组或对象
- Java--学习(一)关于使用Gson将json字符串转换成对象
- JSON PHP中 数组/对象转成JSON字符串
- PHP 关于json_decode返回数组还是对象。
- eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数。 2. 使用Function对象来进行返回解析。 使用eval
- struts2学习--返回json格式字符串
- Jsp学习之json字符串与对象相互转换