我有一個設置,它返回一個可能體面的信息量。這裏是logcat:PHP/Android和JSONObject;我似乎只能訪問最後一個元素
04-17 22:38:21.886: DEBUG/TestMYSQL(12603): Result of sql:
[{"id":"1","front_text":"the dog was so cute","back_text":"its name was dolly"},
{"id":"2","front_text":"plants use the sun","back_text":"isn't that interesting"},
{"id":"3","front_text":"plants can use the sun to create","back_text":"energy"},
{"id":"4","front_text":"a plant also needs minerals","back_text":"from the soil"},
{"id":"5","front_text":"without water the plant would","back_text":"probably die"},
{"id":"6","front_text":"plants are little machines","back_text":"who love to eat"}]
爲了獲得這個信息,我讓它執行一個php文件。這裏是一些相關的Java,Android代碼:
.....
result = sb.toString();
Log.d(TAG, "Result of sql: " + result);
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
// parse json data
JSONObject json_data = null;
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
}
return json_data;
它將結果轉換成jsonObject,我可以使用它。
因此,這裏是前一步,在PHP中查詢部分:
include 'connectMySQL.php';
mysql_select_db("card_db");
$q=mysql_query("SELECT * FROM ".$packname);
while($e=mysql_fetch_assoc($q)){
$output[]=$e;
}
print(json_encode($output));
mysql_close();
問題是,我似乎只是有機會獲得最後的...誒行。也就是說,在上面的數據中,我似乎只能訪問id:6行。
我正在查看auto_complete和JSONOBJECT,但目前我沒有足夠的經驗來弄清楚這個問題,而且已經很晚了。
關於如何遍歷java中的jsonObject的任何想法? 。
讓我花一分鐘,並在轉彎之前分析第二個結構,我不知道很多關於JSON,但這裏是什麼樣子:
我與表查詢數據庫,我已經設置,等等等等。 它返回數據行。 我想我的問題是如何將一行鍵值對編碼成JSON對象,以及如何訪問不同的'行'?
AHHHHH現在我明白了。神奇的答案,謝謝。你是一個紳士和學者。還是女士。 – Danedo 2011-04-18 21:19:07
不客氣。而不是女士:) – 2011-04-18 22:02:04