作者共發了2篇帖子。
Android獲取JSON字符串並判斷是否為空字符串(適用於PHP中從XML轉換的JSON對象)
1樓 巨大八爪鱼 2015-5-1 10:45
XML空節點:<string />  會被php的json_encode轉換為string:{}
XML帶文本節點的標籤:<string>something</string> 會被php的json_encode轉換為string:"something"
所以在讀取時需要在java中判斷

public static String getJSONString(JSONObject obj, String keyName) {
        try {
            obj.getJSONObject(keyName);
            // If succeeded, it is KEYNAME:{} and should actually be an empty string
            return "";
        } catch (JSONException e) {
            // If failed, it is a nonempty string (KEYNAME:"XXX")
            try {
                String keyString = obj.getString(keyName);
                return keyString;
            } catch (JSONException e1) {
                // If failed again, it is of other data types.
                return "";
            }
        }
    }
2樓 巨大八爪鱼 2015-5-1 10:47
使用案例(把該函數放到App靜態類中)
try {
            JSONObject result = new JSONObject(network.result);
            JSONArray bars = result.getJSONArray("bar");
            barList.clear();
            barIDs.clear();
            for (int i = 0; i < bars.length(); i++) {
                JSONObject bar = bars.getJSONObject(i);
                String details = String.format(App.res.getString(R.string.bar_details), bar.getString("creator"));
                
                HashMap<String, Object> map = new HashMap<String, Object>();
                map.put("PostTitle", bar.getString("name"));
                map.put("PostContent", App.getJSONString(bar,"shortDescription"));
                map.put("PostDetails", details);
                
                barList.add(map);
                barIDs.add(bar.getInt("ID"));
            }
            adapter.notifyDataSetChanged();
            ((ListView)findViewById(R.id.listView1)).setSelection(0);
            displayed = true;
        } catch (JSONException e1) {
            App.alert("JSONException");
            e1.printStackTrace();
        }

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。