J'utilise json_encode
pour créer une chaîne JSON en PHP. $result
est mon résultat SQL.Comment envoyer correctement une chaîne JSON depuis PHP et l'analyser en Java pour obtenir POJO?
$final_op="";
if(empty($result) == false){
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
$final_op=json_encode($rows);
}
quand je reçois cette chaîne JSON à la fin client je reçois comme
[{"username":"vikasdevde","user_fname":"Vikas Devde","user_work":"Programmer"}]
Et je l'analyse en Java comme ci-dessous
try{
JSONObject jObject = new JSONObject(response);
String aJsonUsername = jObject.getString("username");
String aJsonFname = jObject.getString("user_fname");
String aJsonUserWork = jObject.getString("user_work");
}catch(JSONException e){
e.printStackTrace();
System.out.println("JSON Exception");
}
Mais je suis d'obtenir un JSONException, peut-être est-ce en raison des crochets autour, parce que, après quelques recherches, j'ai essayé avec une chaîne codée en dur
"{\"username\":\"vikasdevde\",\"user_fname\":\"Vikas Devde\",\"user_work\":\"Programmer\"}"
et cela a fonctionné. Pourriez-vous s'il vous plaît laissez-moi savoir quelle devrait être la meilleure façon de gérer cela?
Je ne sais pas lire cela en java, mais vous envoyez un tableau. Vous devez l'analyser comme ça dans JAVA. Edit: dans votre code, vous semblez essayer de le lire uniquement en tant qu'objet simple, et non en tant qu'objet de tableau. – FirstOne
Est-il prévu que vous obtiendrez toujours exactement une ligne du jeu de résultats? –
@FirstOne oui c'est ce que je demande ici, il est envoyé en tant que tableau, et je cherche la meilleure façon de gérer cela. –