将JSON对象转换为子对象

时间:2015-11-12 20:55:10

标签: php json

我有以下JSON对象

$model->readdabletime

需要转换如下:

[{ "item":"foo", "category_id":1 },{ "item":"bar", "category_id": 2},{ "item":"bar", "category_id":3}]

我正在编写一个php函数

[{ "item":"foo", "category_id":1 },{ "item":"bar", "related": { "category_id": [2, 3] }}]

,输出为

$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);

但我无法将JSON作为子对象。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

如果对象中数组的第一项是节点,则可以访问第一项将其复制到新对象,然后遍历提取ID的下一项。然后将它们添加到" category_id":数组