Extracting one object/group out of a JSON array and save it to a new file using PHP. I am hung up on the array part of the code

Jason Waltz :

I have the following json structure I am trying to loop through and extract products from:

[]JSON
->{0}
-->[]username
-->[]avatar
-->[]rep
-->[]products
-->[]groups
-->[]feedbacks
-->[]online
-->[]staff

I am trying to ave only the products object into as a JSON file. This is the only result I need and delete/unset the rest:

[]JSON
->{0}
-->[]products

But I seem to be a bit confused, as I am not to familiar with how arrays work around PHP. Here is an angle I am currently trying:

<?php
$str = file_get_contents('test.json');
$json_decoded = json_decode($str,true);
foreach($json_decoded as $index){
unset($json_decoded[$index][???]);
        }
file_put_contents('cleaned.json', json_encode($json_decoded));
?> 

I added ??? where I am lost, this is about as far as I have gotten. I keep getting super confused. I know the structure will always be the same as above so I can technically just remove username,avatar,rep,groups,feedbacks,online, and staff seperatly. Which is just fine.

Here is an example of the json structure:

[{"username":["1"],"avatar":["yellow"],"rep":["etc"],"products":["Big"],"groups":["small"],"feedbacks":["small"],"online":["small"],"staff":["small"]}]

Thank you in advance, even a push in the right direction is much appreciated.

Hasta Dhana :

You could compose a new products array like this :

$products = [];

foreach($json_data as $value) {
    $products[]['products'] = $value['products'];
}

file_put_contents('cleaned.json', json_encode($products));

This will results json objects like this :

[
    {
        "products": ["Big-01"]
    },
    {
        "products": ["Big-02"]
    },
    {
        "products": ["Big-03"]
    },
    {
        "products": ["Big-04"]
    },
    {
        "products": ["Big-05"]
    }
]

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=198911&siteId=1