如何在PHP中返回Json数据

如何在PHP中返回Json数据,第1张

概述

不对。

返回json用的json_encode()方法没错,但是需要在头部声明格式

代码解析

php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)

所以,这里需要在php头部声明

header('Content-Type:text/jsoncharset=utf-8')

拓展内容

json

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json通常被作为配置文件,常见还有.ini

用json_encode()函数对数组进行JSON编码。

有时候收不到可能是因为你返回的json格式被破坏了,最大的可能是BOM导致的,不要使用系统自带的记事本编辑utf8格式的php。

还有就是在json_encode()前面和后面不能有别的输出。

最好使用exit(json_encode($array))来输出。

xml格式返回的是数据一般是这样的,但也有不同:

<?xml version="1.0" encoding="gbk"?><root><head><actdate>20170805</actdate><trdate>20170805</trdate><trtime>142410</trtime><trseq>20170807001</trseq><succflag>1</succflag><retcode>0000</retcode><retmsg>鎴愬姛</retmsg></head><body><rowcount>0</rowcount></body></root>

一般xml直接用php的:simplexml_load_string()解析成数组,但我解析的时候提示:有无法解析的数据编码。

也就是数据乱码的那部分,解决乱码我用了header的声明,但不管用,最后用了:

iconv('utf-8','gbk',$a)

问题解决,先转码,后解析

最后json转换就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9265314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存