decode判断不为空拼接_json_decode()值等NULL空用json_last_error()判断的解决办法

$data = json_decode($json_string, true );php

值等null空时,html

用son_last_error()来判断是哪方面出错json

$data = json_decode($json_string, true );

if(!$data)

{

//error handle ,错误处理

$ret = json_last_error();

print_r($ret); //打印为: 4,查错误信息表,可知是语法错误

}

其它的json_decode($str)返回NULL的一些缘由:segmentfault

1.$str只能UTF-8编码编码

2.元素最后不能有逗号(与php的array不一样).net

3.元素不能使用单引号code

4.元素值中间不能有空格和n,必须替换htm

json_last_error错误msg对照表:blog

json_last_error错误msg对照表:

0 = JSON_ERROR_NONE

1 = JSON_ERROR_DEPTH

2 = JSON_ERROR_STATE_MISMATCH

3 = JSON_ERROR_CTRL_CHAR

4 = JSON_ERROR_SYNTAX

5 = JSON_ERROR_UTF8

一、json_last_error() 报错int(3)的解决办法

解决方法:

解析前 使用如下代码:get

$result = preg_replace('/[\x00-\x1F\x80-\x9F]/u', '', trim($result));

例子:

$json_string = preg_replace('/[\x00-\x1F\x80-\x9F]/u', '', trim($json_string));

$data = json_decode($json_string, true );

if(!$data)

{

//error handle ,错误处理

$ret = json_last_error();

print_r($ret); //打印为: 4,查错误信息表,可知是语法错误

}

引用:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值