php检测数据是否为json字符

首先要记住json_encode返回的是字符串, 而json_decode返回的是对象.

判断数据不是JSON格式:

 代码如下 复制代码

function is_not_json($str){
    return is_null(json_decode($str));
}

判断数据是合法的json数据: (PHP版本大于5.3)

 代码如下 复制代码
function is_json($string) {
 json_decode($string);
 return (json_last_error() == JSON_ERROR_NONE);
}
json_last_error()函数返回数据编解码过程中发生的错误.

注意: json编解码所操作字符串必须是UTF8的.

如果不是json则返回false

 代码如下 复制代码

/**
* 解析json串
* @param type $json_str
* @return type
*/
private function analyJson($json_str) {
$json_str = str_replace('\\', '', $json_str);
$out_arr = array();
preg_match('/\{.*\}/', $json_str, $out_arr);
if (!empty($out_arr)) {
$result = json_decode($out_arr[0], TRUE);
} else {
return FALSE;
}
return $result;
}

上面的几种方法都可以检测来是不是json数据,当然我还有一个另类的做法就是使用ajax来实现,例子如下

使用 AJAX 请求来获得 JSON 数据,并输出结果:

 代码如下 复制代码

$.getJSON("test.js", function(json){
  alert("JSON Data: " + json.users[3].name);
});

如果返回的值不正确就是不合法的json字符串了,是不是这样也可以呀。

时间: 2024-11-01 05:46:40

php检测数据是否为json字符的相关文章

Python的数据序列化「Json & Pickle」

在介绍Python的数据序列化模块「Json & Pickle」之前,我们先来看看为什么需要数据序列化,什么是数据序列化. 为什么需要数据序列化,我认为有如下两种原因: 一个原因是将对象(一切皆对象)的状态保持在存储媒介(硬盘.网盘......)中,以便可以在以后重新创建精确的副本,相当于镜像的概念,比如我们平时利用VMware虚拟机中的挂起功能,这个挂起功能就是利用数据的序列化,把虚拟机当前的状态序列化保存在本地磁盘的文件中,然后恢复的时候只需反序列化,把状态恢复即可. 另一个原因是通过值将对

Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)_javascript技巧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 一.JSON字符串转换为JSON对象: eval() 和 JSON.parse eg- js

json字符数组怎么去掉(替换)空值null?

问题描述 比如这么一组json字符数组:[{"NAME":"zhangsan","SGMNT":null,"CUST_ID":1},{"NAME":"lisi","SGMNT":null,"CUST_ID":2}]......页面显示出了null值,要怎么换成空字符串""?最好写出示例代码,可以用前端js,或者后台的Struts

详解JSON1:使用TSQL查询数据和更新JSON数据_json

JSON是一个非常流行的,用于数据交换的数据格式,主要用于Web和移动应用程序中.JSON 使用键/值对(Key:Value pair)存储数据,并且表示嵌套键值对和数组两种复杂数据类型,仅仅使用逗号(引用Key)和中括号(引用数组元素),就能路由到指定的属性或成员,使用简单,功能强大.在SQL Server 2016版本中支持JSON格式,使用Unicode字符类型表示JSON数据,并能对JSON数据进行验证,查询和修改.推荐一款JSON验证和格式化的工具:json formatter. 一,

怎样把txt数据改成json格式啊,求大神赐教~

问题描述 怎样把txt数据改成json格式啊,求大神赐教~ 我在做大数据可视化,有一堆txt数据需要自动转成json格式,并且将json数据导入js文件中,具体怎样实现,求大神给个小例子,,,还有JSP能不能调用外部的json数据啊 解决方案 可以用Java打开txt文件,然后转换成json数据(推荐使用gson库进行解析). 大概流程如下: //获取文件内容.List context = Files.readAllLines(Paths.get(""123.txt"&quo

求助,在线等,java+ssm项目初始化数据问题解析json文件加载到数据库,跪谢!

问题描述 求助,在线等,java+ssm项目初始化数据问题解析json文件加载到数据库,跪谢! 服务器能不能在启动的时候加载json文件 然后把数据 加载到数据库!就是启动服务器,然后启动成功后,数据库要看到有基本数据的效果,可以实现吗?在线等!跪谢!

java 数据交互 json-java数据交互,json传值

问题描述 java数据交互,json传值 传json格式的数据到后台,为什么接受不到,数据都是空的,打断点居然蹦不到后台,浏览器的开发者工具提示404错误,找不到路径,但是路径又是对的 解决方案 说明根本没有调用你的服务器端,如果你用的struts等框架,检查下url映射的配置. 解决方案二: 到不了后台说明你的请求路径配置错误,404就是你的请求根本找不到对应的资源.检查下配置吧. 解决方案三: 你的路径应该是有错的,或者路径配置有问题,并没有进入对应的servlet或者action 解决方案

java json 数据转换-JAVA中如何将数据组装为json树状结构的数据

问题描述 JAVA中如何将数据组装为json树状结构的数据 我从数据库中查出的数据保存到一个集合List中,集合中是存的区域类Area.区域类的字段和数据库中结果的字段一样.图1中是我的数据库查询结果,想转行为json格式的树状结构.例如省-市-县这样的结构.就是图2的效果 图1: 图2: 弄了一天了还没出现,我太菜了.请大家帮帮忙 解决方案 要么你就自己纯拼字符串,要么就直接用fastjson这类json工具类直接转.只要类结构和json结构能对应,可以直接转就可以了. 解决方案二: 你定义一

求大神-如何获取后台数据库里面的数据,返回JSON字符串,并把JSON字符串解析添加到ListView中

问题描述 如何获取后台数据库里面的数据,返回JSON字符串,并把JSON字符串解析添加到ListView中 如何获取后台数据库里面的数据,返回JSON字符串,并把JSON字符串解析添加到ListView中 解决方案 写一个http接口,组织好json数据,客户端接收,可以用gson直接转成对应的对象,listview需要一个List数据源,你把后台传来的数据放到list中,然后adapter的getview中处理显示 解决方案二: Newtonsoft.Json.dll有你想要的 解决方案三: