您好我正在尝试解析json字符串,但是获取jsonexception:找不到产品的值,我将产品视为jsonobject,下面是我的json代码
{
"Product": {
"Budget": {
"Value": {
"Cake": 200,
"butter": 757993,
"Gelsd": 404130,
"Yeast": 404130,
"Yeas": 43379276,
"Gels": 1777776,
},
"Vol": {
"Cake": 27899,
"butter": 1266,
"Gelsd": 2032,
"Yeast":404130,
"Yeas": 985721,
"Gels": 16563,
}}}}
我正在做如下:
try {
JSONObject mainObject = new JSONObject(text);
JSONObject productObject = mainObject.getJSONObject("product");
JSONObject attributeObject = productObject.getJSONObject(ATTRIBUTES1);
JSONObject valueObject = attributeObject.getJSONObject(PRODUCT_VALUE);
JSONObject volumeObject = attributeObject.getJSONObject(PRODUCT_VOLUME);
String cake = valueObject.getString(PRODUCT_CAKE);
String butter = valueObject.getString(PRODUCT_BUTTER);
String gelsd = valueObject.getString(PRODUCT_GELSD);
String yeast = valueObject.getString(PRODUCT_YEAST);
String yeas = valueObject.getString(PRODUCT_YEAS);
System.out.println("cake============="+cake);
System.out.println("butter============="+butter);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我解析正确的方法吗?
答案 0 :(得分:1)
你有这个
"Product": { // P is caps but you have p
更改此
JSONObject productObject = mainObject.getJSONObject("product");
要
JSONObject productObject = mainObject.getJSONObject("Product");
答案 1 :(得分:1)
你必须通过
检查JSONObject productObject = mainObject.getJSONObject("product");
但在您的json数据中,它是产品
所以改变
JSONObject productObject = mainObject.getJSONObject("Product");
答案 2 :(得分:1)
错误拼写的数组'产品'而不是'产品'
JSONObject productObject = mainObject.getJSONObject("Product");
还使用gson库来解析Json Data。 见例子
http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html
答案 3 :(得分:0)
您更改了json对象创建,使用“Product”而不是“product”
使用
JSONObject productObject = mainObject.getJSONObject("Product");
而不是
JSONObject productObject = mainObject.getJSONObject("product");