Salut J'essaie de créer une API qui convertit un tableau de résultats d'un appel de base de données en JSON qui peut être facilement analysé. En utilisant la commande simple json_encode
, mon JSON est un désordre compliqué et verbeux d'objets imbriqués et de tableaux qui s'avèrent difficiles à analyser à l'autre extrémité.PHP/MYSQL/JSON: Simplifier JSON pour l'API
Quelqu'un peut-il suggérer un moyen de réduire cela à l'information clé qui devrait être fournie: ID utilisateur, commentaire long (lcom) et commentaire court (shcom) et comment l'envoyer comme API?
Merci à l'avance pour toute suggestion
Voici la sortie JSON courant produit à partir de la requête et le code suivant:
$sql = "SELECT userid,shcom,lcom FROM comments WHERE userid = 1 LIMIT 4";
$res = mysql_query($sql) or die(mysql_error());
$comments = array();
while($row = mysql_fetch_array($res)) {
$comments[] = array('row'=>$row);
}
echo json_encode(array('comments'=>$comments));
Json output:
{
"comments": [
{
"row": {
"0": "1",
"userid": "1",
"1": "hello",
"shcom": "hello",
"2": "hellothere",
"lcom”: "hellothere"
}
},
{
"row": {
"0": "1",
"userid": "1",
“1”: ”agreed”,
"shcom”: ”agreed”,
“2”: ”agreedforonce”,
"lcom”: ”agreedforonce”
}
},
{
"row": {
"0": "1",
"userid": "1",
"1": "gohome",
"shcom”: ”gohome“,
“2”: ”gohomenow”,
"lcom: ”gohomenow”
}
},
{
"row": {
"0": "1",
"userid": "1",
"1": "getout”,
"shcom”: ”getout”,
“2”: ”getoutofhere”,
"lcom: ”getoutofhere”
}
}
]
}
La api réelle déversements juste sans aucun mot de pellicule. J'ai inséré les nouvelles lignes pour le rendre plus clair. – user1904273