У меня есть несколько файлов JSON, и когда в них есть один объект, их тип данных не согласован. Я пытаюсь изменить файлы, содержащие один элемент, чтобы элемент, на который я ссылаюсь, всегда был массивом.
Вот пример «хорошего» JSON-файла:
{
"apiv2": {
"items": [{
"id": "00001",
"name": "ITEM 1"
}, {
"id": "00002",
"name": "ITEM 2"
}]
}
}
В терминах PHP $ json-> apiv2-> items всегда является массивом, к которому я могу применять одни и те же функции.
Время от времени у меня есть JSON-файл, который содержит один элемент:
{
"apiv2": {
"items": {
"id": "00003",
"name": "ITEM 3"
}
}
}
Когда я пытаюсь перебрать «элементы» с одинаковыми функциями, они терпят неудачу, так как теперь это объект вместо массива.
Моя цель - изменить данные JSON и переписать файл так, чтобы файлы отдельных элементов соответствовали файлам с несколькими элементами:
{
"apiv2": {
"items": [{
"id": "00003",
"name": "ITEM 3"
}]
}
}
Может быть, это потому, что сегодня пятница, но я не могу обернуться вокруг этого. Я думал, что это будет так просто, как:
$json->apiv2->items = (array) $json->apiv2->items;
Но это просто превращает его в массив с двумя элементами «id» и «name», а не один элемент с объектом.