我正在尝试解码以下JSON文件
{
"email": "mail@gmail.com",
"password": "12345",
"languageProficiency": {
"language": "English",
"proficiency": 4
},
"tags": [
{
"name": "singing"
},
{
"name": "dance"
}
]
}
当我这样做时
$data = json_decode($jsonContent, true);
echo $data;
die();
我有以下错误:
找到了数组值,但需要一个对象
问题
1)如何查看JSON中的数据 2)如何访问标签数组
中每个对象的属性我正在验证Json内容再次使用此架构
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"languageProficiency": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"proficiency": {
"type": "integer"
}
},
"required": [
"language",
"proficiency"
]
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
}
},
"required": [
"email",
"password",
"languageProficiency",
"tags"
]
}
更新
我尝试了以下查看json内容
print_r($data)
但我仍然得到同样的错误
答案 0 :(得分:0)
$data = json_decode($jsonContent, true);
上面的代码行将返回Array,您无法直接使用echo来打印数组。
要打印数组的特定值(例如电子邮件),请执行以下操作:
echo $data["email"];
提示强>
使用print_r()知道这样的数组结构,
echo "<pre>";
print_r($data);
答案 1 :(得分:0)
您可以尝试使用print_r($ data)来探索值