json_encode
を使用して、PHPでJSON文字列を作成しています。 $result
は私のSQL結果です。PHPからJSON文字列を正しく送信してJavaで解析してPOJOを取得するにはどうすればいいですか?
$final_op="";
if(empty($result) == false){
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
$final_op=json_encode($rows);
}
私はクライアント側でこのJSON文字列を取得するとき、私は
[{"username":"vikasdevde","user_fname":"Vikas Devde","user_work":"Programmer"}]
のようにそれを取得し、私は
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");
}
次のようにJavaでそれを解析しています。しかし、私は取得していますいくつかの研究の後、私はハードコードされた文字列で試したので、JSONExceptionは、大括弧で囲まれている可能性があります。
"{\"username\":\"vikasdevde\",\"user_fname\":\"Vikas Devde\",\"user_work\":\"Programmer\"}"
となりました。これを処理するにはどうすればいいのか教えてください。
であなたのtryブロック内のコードを置き換え、この
のようなJavaコードを変更してみてください。あなたはJAVAのように解析する必要があります。編集:あなたのコードでは、配列オブジェクトではなく、単純なオブジェクトとしてのみ読み取ろうとしているようです。 – FirstOne
結果セットから常に正確に1つの行が得られることが期待されますか? –
@FirstOneはい、私がここで求めているのは、配列として送信されており、これを処理する最善の方法を探しています。 –