PHPからJSONオブジェクト(文字列の配列で構成)を渡しています。私は、Java jArrayにオブジェクトを変換しようとしていますが、私は戻って私のPHPファイルから取得した文字列が正しく形成されていません:PHPからphp JSONオブジェクトからJSON配列を作成する際の問題
文字列を
[{"0":"2","id":"2","1":"2","household_id":"2","2":"3","stepgreen_id":"3","3":"tip 1","tip":"tip 1","4":"2011-08-05","dateOfTip":"2011-08-05","5":"3","likes":"3"}]
[{"0":"2","id":"2","1":"2","household_id":"2","2":"3","stepgreen_id":"3","3":"tip 1","tip":"tip 1","4":"2011-08-05","dateOfTip":"2011-08-05","5":"3","likes":"3"},{"0":"91","id":"91","1":"1","household_id":"1","2":"1","stepgreen_id":"1","3":"tip 2","tip":"tip 2","4":"2011-08-04","dateOfTip":"2011-08-04","5":"1","likes":"1"}]
(私は私のデシベルのヒントテーブル内の2つのエントリがあります)
はここに私のPHPコードのJavaで
<?php
// mysql connection, etc....
$query = "SELECT * FROM Tips";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$output[]=$row;
print(json_encode($output));
}
mysql_close($con);
?>
ですが、私は次のようにします。何が起こるかは、jArrayを1つのエントリだけで返すことです。 PHPのjsonオブジェクトが1文字列の配列と2文字列の第2配列を返す理由はわかりません。私は2つの文字列の配列を受け取ることを期待しています。
try {
InputStream responseData;
responseData = httpEntity.getContent();
js = convertStreamToString(responseData);
Log.v(LOG_TAG, js);
jArray = new JSONArray(js);
JSONObject json_data = null;
Log.v(LOG_TAG, "Arraysize: " + jArray.length());
for (int i = 0; i < jArray.length(); i++) {
Log.v(LOG_TAG, "entering loop");
json_data = jArray.getJSONObject(i);
tip = json_data.getString("tip");
stepgreenId = json_data.getString("stepgreen_id");
dateOfTip = json_data.getString("dateOfTip");
householdId = json_data.getString("household_id");
likes = json_data.getString("likes");
Log.v(LOG_TAG, "Json tip= " + tip + " stepgreen id: " + stepgreenId + " household_id: " + householdId + " likes: " + likes);
}
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
何です** JS **あなたがそれを実行すると? –