


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
php下的json字符串转化讲解:解析为空今天想利用利用jQuery的ajax和服务器语言php进行交互练习瀑布流,结果在交互过程中,不知哪一步使得php获取的字符串存在,可转为数组却是空,我天,这足足浪费我三个小时找这个bug,把每一个字符进行了一一比对,发现竟然语法都没错!!!最后的坑竟然在BOM头,好啦,把心情回归平静,把出现的问题,尝试的方法进行总结一下:在本文中,$jsonStr代表php获取到的json字符串,$jsonArr代表php的jsondecode()转化后的数组1.首先php中的jsondecode要求的字符串比较严格,以下几点需注意:(1)使用UTF-8编码(2)不能在最后元素有逗号(3)不能使用单引号(4)不能有\r,\t,如果有请替换可以在/上在线查询json格式正确与否.如果上述几点你都做到了,但是json_decode()的结果依然为空,尝试$jsonStrpreg_replace('/[\x00-\xlF\x80-\x9F]/u','',trim($jsonStr));$jsonStr以去掉其他破坏json字符串的字符。.可能因为在json字符串中反斜杠被转义,只需要用htmlspecialcharsdecode()函数处理一下:$jsonStr=htmlspecialchars_decode($jsonStr);然后再使用json_decode()函数解析得到$jsonArr.编码问题,尝试如下方法进行转码:(1)在保存json数据时使用urlencodeO函数:$jsonStr=urlencode(json_encode($jsonStr));解析时使用urldecodeO函数:$jsonStr=urldecode($jsonStr);
(2)$jsonStr=stripslashes(html_entity_decode($jsonStr);$jsonArr=json_decode($jsonStrJTRUE);html_entity_decode0函数的作用是把HTML实体转换为字符。.在转为json之前对中文进行转码:{34567{3456789static$recursive_counter=0;if(++$recursive_counter>1000){die('possibledeeprecursionattack');}foreach($arrayas$key=>$value){if(is_array($value)){arrayRecursive($array[$key],$function,$apply__to_keys_also);11121314111213141516171819202122}$array[$key]=unction($value);)if($apply_to_keys_also&&is_string($key)){$new_key=$function($key);if($new_key!=$key){$array[$new_key]=$array[$key];unset($array[$key]);)))$recursive__counter--;/**************************************************************25**将数组转换为JSON字符串(兼容中文)27*@paramarray$array要转换的数组@returnstring 转换得到的json字符串@accesspublic30*"functionJSON($array)3况arrayRecursive($array,'urlencode',true);$json=json_encode($array);returnurldecode($json);37}echo3SON($jsonStr);.尝试在json_decode()的第二个参数中添加true$jsonArr=json_decode($jsonStr,true).也是我在交互中出现的问题,不小心在返回的json字符串中返回了B0M头的不可见字符,某些编辑器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南周口中英文学校高三高考物理试题系列模拟卷(10)含解析
- 信阳涉外职业技术学院《石油工程大数据》2023-2024学年第一学期期末试卷
- 信息技术 第二册(五年制高职)课件 9.3.1 语音识别系统
- 护士分层级培训及管理
- 护理操作质量控制
- 支行行长日常管理
- 2025不动产登记代理人《不动产登记代理实务》考前冲刺必会300题-含详解
- 青海省医疗卫生事业单位招聘(中药)历年考试真题库及答案
- 原发性腹膜癌病人的护理
- 2024-2025学年下学期高三英语人教版同步经典题精练之动词词义辨析
- 标准压力下烟气物性参数
- 决策与协调机制制度
- 心理咨询保密协议(2024版)
- 土地整治项目工程复核工作流程
- 劳动合同到期不续签证明
- 朋友是你点燃了我作文600字
- 医院培训课件:《静脉血栓栓塞症(VTE)专题培训》
- 学生作业打卡模板
- 水文资料在线整编规范
- 2024届高考语言运用之比较赏析句子的表达效果+
- 施工现场动火作业安全(旁站记录)
评论
0/150
提交评论