-2

嗨,我正在尝试解析 json 字符串,但得到 jsonexception: no value found for product,我将产品作为 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();
    }
}

我解析正确吗?

4

4 回答 4

1

你有这个

   "Product": {   // P is caps but you have p

改变这个

  JSONObject productObject = mainObject.getJSONObject("product");

  JSONObject productObject = mainObject.getJSONObject("Product"); 
于 2013-09-24T11:26:23.400 回答
1

你必须检查

JSONObject productObject = mainObject.getJSONObject("product");

但在您的 json 数据中,它是Product

所以改变

JSONObject productObject = mainObject.getJSONObject("Product");
于 2013-09-24T11:26:54.447 回答
1

拼写错误的数组“产品”而不是“产品”

JSONObject productObject = mainObject.getJSONObject("Product");

还使用 gson 库来解析 Json 数据。看例子

http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

于 2013-09-24T11:30:03.810 回答
0

您更改 json 对象创建,使用“产品”而不是“产品”

利用

JSONObject productObject = mainObject.getJSONObject("Product");

代替

JSONObject productObject = mainObject.getJSONObject("product");
于 2013-09-24T11:35:11.940 回答