PHP json_decode error: найдено значение массива, но требуется объект

Я пытаюсь декодировать следующий файл 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)

Но я все еще получаю ту же ошибку

-1

Решение

$data = json_decode($jsonContent, true);

Над строкой кода вернется Array, для которого нельзя напрямую использовать echo для печати массива.

Чтобы напечатать определенное значение массива (например, адрес электронной почты), сделайте это следующим образом:

echo $data["email"];

Совет:

использование print_r () чтобы знать структуру массива, как это,

echo "<pre>";
print_r($data);
0

Другие решения

Вы можете попробовать print_r ($ data), чтобы изучить значения

0

По вопросам рекламы [email protected]