Reputation: 97
(i'm a bit new in PHP / JSON) i have a PHP page that send me an array of informations to an Android application and i need to change the Json "format" so i can manage it in my Android application.
I tried adding the array to a PHP class but i only get errors.
From this (this is just an example):
[
{
"updated_at":"2012-03-02 21:06:01",
"fetched_at":"2012-03-02 21:28:37.728840",
"description":null,
"language":null,
"title":"JOHN",
"url":"http://rus.JOHN.JOHN/rss.php",
"icon_url":null,
"logo_url":null,
"id":"4f4791da203d0c2d76000035",
"modified":"2012-03-02 23:28:58.840076"
},
{
"updated_at":"2012-03-02 14:07:44",
"fetched_at":"2012-03-02 21:28:37.033108",
"description":null,
"language":null,
"title":"PETER",
"url":"http://PETER.PETER.lv/rss.php",
"icon_url":null,
"logo_url":null,
"id":"4f476f61203d0c2d89000253",
"modified":"2012-03-02 23:28:57.928001"
}
]
To this (other example):
{"master":[
{
"updated_at":"2012-03-02 21:06:01",
"fetched_at":"2012-03-02 21:28:37.728840",
"description":null,
"language":null,
"title":"JOHN",
"url":"http://rus.JOHN.JOHN/rss.php",
"icon_url":null,
"logo_url":null,
"id":"4f4791da203d0c2d76000035",
"modified":"2012-03-02 23:28:58.840076"
},
{
"updated_at":"2012-03-02 14:07:44",
"fetched_at":"2012-03-02 21:28:37.033108",
"description":null,
"language":null,
"title":"PETER",
"url":"http://PETER.PETER.lv/rss.php",
"icon_url":null,
"logo_url":null,
"id":"4f476f61203d0c2d89000253",
"modified":"2012-03-02 23:28:57.928001"
}
]
}
My PHP page that create the JSON array:
<?php
class card{
public $id = 0;
public $name = "";
public $value = 0;
public $imgpath = "";
public $rarity = "";
public $litness = 0;
public $dankness = 0;
public $expansion = "";
}
$b= array();
$connessione = mysqli_connect("", "", "", "");
$query = "insert_query_here";
$risultato = mysqli_query($connessione, $query);
while($row = mysqli_fetch_assoc($risultato)){
$card = new card();
$card->id = $row['id_card'];
$card->name = $row['name'];
$card->value = $row['value'];
$card->imgpath = $row['imgpath'];
$card->rarity = $row['name_rarity'];
$card->litness = $row['litness'];
$card->dankness = $row['dankness'];
$card->expansion = $row['expansion_name'];
$b[] = $card;
}
$out = array_values($b);
print json_encode($out);
Upvotes: 0
Views: 426
Reputation: 9396
Try the following:
$out = ['master' => array_values($b)];
print json_encode($out);
This will add the key master
in the main array, and the rest will be nested in it.
Upvotes: 2