目前共有2篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:大陆简体▼
 
点击 回复
601 1
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();
        }
 

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:601 回复数:1
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2015-5-1 10:47
 
©2010-2025 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。