Re: [問題] Android 印出JSON資料

作者: laiair (大頭)   2015-04-22 01:36:52
※ 引述《sa1993 (竹)》之銘言:
: http://ppt.cc/fahA 原始網址
: http://ppt.cc/3btK 有標顏色
: 小弟請問各位前輩 像這種前後有別的東西混合(紅色標記的)
: 該怎讀取我要的"records"底下的值(藍色標記的)
: 部分code
: JSONObject mTitle = new JSONObject(JsonText); //網址讀到的放到這
: JSONArray arrayJson=mTitle.getJSONArray("result");
: try {
: for(int i = 0 ; i <arrayJson.length() ;i++){
: t1.setText("name:"+arrayJson.getJSONObject(i).getString("Name").toString());
: }
: }catch (JSONException e) {
: e.printStackTrace();
: }
原Po給的json字串長這樣:
{
"result": {
"resource_id": "c57f54e2-8ac3-4d30-bce0-637a8968796e",
"fields": [
{
"type": "int4",
"id": "_id"
},
{
"type": "text",
"id": "Name"
},
{
"type": "text",
"id": "Sex"
}
]
}
}
result 是 JSONObject 沒錯。
包含了一個 resource_id 的屬性,和 fields 的 JSONArray
JSONArray 想成 JSONObject陣列就好。
JSONArray arrayJson=mTitle.getJSONObject("result").getJSONArray("fields");
for(int position = 0; position < arrayJson.length(); position++) {
JSONObject jsonObj = arrayJson.getJSONObject(position);
String json = jsonObj.toString();
String type = jsonObj.getString("type");
String id = jsonObj.getString("id");
}
我是後來都用gson,也比較好操作,不用想太多。
希望有幫助到你
作者: sa1993 (竹)   2015-04-22 02:57:00
http://ppt.cc/6BVv code http://ppt.cc/q25D 錯誤訊息 請問為甚麼沒辦法顯示在textview 不知如何著手...
作者: givemepass (λ)   2015-04-22 12:18:00
有一種鬼打牆的fu
作者: hyouun (彩音)   2015-04-22 15:58:00
ppt.cc最近都打不開..
作者: sa1993 (竹)   2015-04-22 18:36:00
http://ideone.com/8ITNPK code http://imgur.com/D2pTfbM錯誤訊息,還是說這裡不能用Textview嗎?
作者: ssccg (23)   2015-04-22 19:38:00
要在main thread才能動view,不能在其他thread直接setText
作者: givemepass (λ)   2015-04-22 19:39:00
突然想到會不會是在其他thread塞字串到textview
作者: sa1993 (竹)   2015-04-22 22:20:00
已排解 感謝兩位大大 忘了主執行緒不能做改變 不然會出錯

Links booklink

Contact Us: admin [ a t ] ucptt.com