【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 字符串是数组。

相关推荐
独行soc7 小时前
2025年渗透测试面试题总结-百度面经(题目+回答)
运维·开发语言·经验分享·学习·面试·渗透测试·php
pengone9 小时前
PHP8.0版本导出excel失败
php·excel
朴拙数科12 小时前
Json rpc 2.0比起传统Json在通信中的优势
网络协议·rpc·json
Javis21112 小时前
【Linux高级全栈开发】2.1.2 事件驱动reactor的原理与实现
linux·运维·php
LYPHARD MELODY。1 天前
将 JSON 批量转换为 XML:深度解析与完整实现指南
xml·json
James. 常德 student1 天前
网络安全知识点
安全·web安全·php
爱吃涮毛肚的肥肥(暂时吃不了版)1 天前
项目班——0510——JSON网络封装
c++·算法·json
GISer_Jing1 天前
[前端高频]数组转树、数组扁平化、深拷贝、JSON.stringify&JSON.parse等手撕
前端·javascript·json
玉笥寻珍1 天前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
uwvwko1 天前
BUUCTF——web刷题第一页题解
android·前端·数据库·php·web·ctf