【PHP】判断字符串是否是json类型,并判断是否是有效数组

要在 PHP 中判断给定的字符串是否是 JSON,可以使用 json_decode() 函数和检查返回值的类型。以下是一个示例,展示了如何判断给定的字符串是否是 JSON,以及如何判断它是数组还是字符串:

php 复制代码
<?php

function isJson($string)
{
    json_decode($string);
    return (json_last_error() == JSON_ERROR_NONE);
}

$jsonString1 = '{"name": "John", "age": 30, "city": "New York"}';
$jsonString2 = '["apple", "orange", "banana"]';
$notJsonString1 = 'This is not a JSON string';
$notJsonString2 = '"This is a JSON string, but it is a string, not an object or array"';

// 测试 JSON 字符串
var_dump(isJson($jsonString1)); // 输出:bool(true)
var_dump(isJson($jsonString2)); // 输出:bool(true)

// 测试非 JSON 字符串
var_dump(isJson($notJsonString1)); // 输出:bool(false)
var_dump(isJson($notJsonString2)); // 输出:bool(false)

// 判断 JSON 字符串是数组还是字符串
$decoded1 = json_decode($jsonString1, true);
$decoded2 = json_decode($jsonString2, true);

if (is_array($decoded1)) {
    echo "The first JSON string is an array.\n";
} else {
    echo "The first JSON string not is an array.\n";
}

if (is_array($decoded2)) {
   echo "The second JSON string is an array.\n";
} else {
    echo "The second JSON string not is an array.\n";
}
?>

在这个示例中,我们定义了一个名为 isJson() 的函数,用于检查给定的字符串是否是 JSON。然后,我们使用 json_decode() 函数解码 JSON 字符串,并使用 is_array() 函数检查解码后的值的类型。如果解码后的值是数组,则 JSON 字符串是数组。

相关推荐
fakaifa15 分钟前
【2025最新版】火鸟门户v8.5系统源码+PC、H5、小程序 +数据化大屏插件
小程序·php·源码下载·火鸟门户·同城门户系统
season_zhu23 分钟前
iOS开发:关于URL解析
ios·json·swift
onejason33 分钟前
利用 PHP 爬虫按关键字搜索淘宝商品
前端·php
菜鸟vsc4 小时前
PHP序列化/反序列化漏洞原理
网络安全·php
一只专注api接口开发的技术猿9 小时前
基于 Java 的淘宝 API 调用实践:商品详情页 JSON 数据结构解析与重构
大数据·数据结构·重构·json
亚洲小炫风1 天前
flutter json解析增强
flutter·json·json兼容格式
逍遥德1 天前
前端工程化-包管理NPM-package.json 和 package-lock.json 详解
前端·npm·json
牛了爷爷1 天前
php伪协议
android·开发语言·php
白露与泡影1 天前
阿里一面:Nacos配置中心交互模型是 push 还是 pull ?(原理+源码分析)
开发语言·php·交互
Tdm_8881 天前
SQL Server中OPENJSON + WITH 来解析JSON
java·数据库·sql·c#·json·mssql