Android解析json文件

时间:2011-10-06 10:48:38

标签: android json parsing

String str中包含的Json字符串:

{conf:{"quantity_uom":"l",price_uom:"euro",distance_uom:"km",consumption_uom:"km/l"}}

代码:

try{
        if (str!=""){
            this.json = new JSONObject(str);
            this.quantityUom=this.json.getString("quantity_uom");
            this.distanceUom=this.json.getString("distance_uom");
            this.priceUom=this.json.getString("price_uom");
            this.consumptionUom=this.json.getString("consumption_uom");             
        }
    }catch (Exception e) {
        throw e;
    }

我已退回No value for quantity_uom。我怎么做错了? String包含json文本。

非常感谢你。

2 个答案:

答案 0 :(得分:4)

try{
    if (!str.equals("")){
        Json obj = new JSONObject(str);
        this.json = obj.getJSONObject("conf");
        this.quantityUom=this.json.getString("quantity_uom");
        this.distanceUom=this.json.getString("distance_uom");
        this.priceUom=this.json.getString("price_uom");
        this.consumptionUom=this.json.getString("consumption_uom");             
    }
}catch (Exception e) {
    throw e;
}

首先必须从字符串中获取名为'conf'的json对象,并从该json对象获取其他值。

答案 1 :(得分:1)

JSON字符串不正确。

试试这个:

{"conf":{"quantity_uom":"l","price_uom":"euro","distance_uom":"km","consumption_uom":"km/l"}}