Я следующий объект JSONПреобразование JSON объект к югу от объекта
[{ "item":"foo", "category_id":1 },{ "item":"bar", "category_id": 2},{ "item":"bar", "category_id":3}]
необходимо преобразовать следующим образом:
[{ "item":"foo", "category_id":1 },{ "item":"bar", "related": { "category_id": [2, 3] }}]
Я пишу функцию PHP, как
$previous = [];
$category = [];
$result = [];
foreach ($jsonData as $element) {
if (in_array($element['item'], $previous)) {
$category[] = $element['category_id'];
$result[] = $category;
} else {
$previous[] = $element['item'];
$result[] = $element;
}
}
echo json_encode($result);
, который дает как
[{"item":"foo","category_id":1},{"item":"bar","category_id":2},[3]]
, но я не могу получить JSON как дополнительный объект. Как я могу решить эту проблему?
Ваш первый объект JSON неверен. У вас есть '" category_id ":}' (имя поля, но не значение). –
теперь обновляется с правильным значением. – noisybuddha