JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON 使用文本表示结构化数据,支持多种语言,包括 PHP。
在 PHP 中,json_encode
函数用于将 PHP 值转换为 JSON 字符串,而 json_decode
函数用于将 JSON 字符串转换为 PHP 值。
{}
包围。[]
包围。""
包围的字符序列。true
或 false
。<?php
$data = array(
"name" => "张三",
"age" => 30,
"city" => "北京"
);
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json;
?>
输出:
{"name":"张三","age":30,"city":"北京"}
<?php
$json = '{"name":"张三","age":30,"city":"北京"}';
$obj = json_decode($json);
echo $obj->name . " is " . $obj->age . " years old and lives in " . $obj->city;
?>
输出:
张三 is 30 years old and lives in 北京
原因:默认情况下,json_encode
函数会将非 ASCII 字符转义为 Unicode 转义序列。
解决方法:使用 JSON_UNESCAPED_UNICODE
选项来避免中文字符被转义。
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
原因:可能是 JSON 字符串格式不正确,或者数据类型不匹配。
解决方法:检查 JSON 字符串的格式是否正确,确保数据类型匹配。
$obj = json_decode($json);
if (json_last_error() !== JSON_ERROR_NONE) {
echo "JSON 解析失败: " . json_last_error_msg();
}
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云