Я пытаюсь декодировать следующий файл JSON
{
"email": "[email protected]",
"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)
Но я все еще получаю ту же ошибку
$data = json_decode($jsonContent, true);
Над строкой кода вернется Array, для которого нельзя напрямую использовать echo для печати массива.
Чтобы напечатать определенное значение массива (например, адрес электронной почты), сделайте это следующим образом:
echo $data["email"];
Совет:
использование print_r () чтобы знать структуру массива, как это,
echo "<pre>";
print_r($data);
Вы можете попробовать print_r ($ data), чтобы изучить значения