目前共有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許可協議進行許可。