2012-08-10 131 views
2

可能重复:
Reading a Json Array in androidJSON - 获取价值

我试图让使用JSON字符串字段名称。我设法得到价值,但是如何获得这个领域。举一个例子:

字符串strjson:

{ 
    "IndustryDetails": [ 
     { 
      "industryId": "1", 
      "industryName": "Bird Nest", 
      "productProfilePhoto": "", 
      "industryIcon": "", 
      "industryFields": { 
       "items": [ 
        { 
         "selectionItem": { 
          "Product Name": "燕碎 - YanShu     ", 
          "Type": "盏片 - pcs", 
          "Grade": "碎片 - Broken", 
          "Farm": "DVS-EBN-000003", 
          "Made in": "Malaysia", 
          "Manufactured Date": "2012-08-09", 
          "Expiry Date": "2012-08-09", 
          "Export Permit": "1234", 
          "Import Permit": "9999" 
         } 
        } 
       ] 
      } 
     } 
    ] 
} 

我设法这样做是为了获得的价值。

JSONObject json_data = new JSONObject(strjson); 
JSONArray nameArray = json_data.names(); 
JSONArray valArray = json_data.toJSONArray(nameArray).getJSONArray(0); 
Log.i(MainActivity.class.getName(), 
          "Number of entries " + valArray.length()); 
      for (int i = 0; i < valArray.length(); i++) { 
        JSONObject jsonObject = valArray.getJSONObject(i); 
        Log.i(MainActivity.class.getName(), " industryId = "+jsonObject.getString("industryId")); 
        Log.i(MainActivity.class.getName(), " industryName = "+jsonObject.getString("industryName")); 
        Log.i(MainActivity.class.getName(), " industryStatus = "+jsonObject.getString("productProfilePhoto")); 
        Log.i(MainActivity.class.getName(), " industryDescription = "+jsonObject.getString("industryIcon")); 
        Log.i(MainActivity.class.getName(), " industryIconFilepath = "+jsonObject.getString("industryFields"));       
} 

如何获取字段名称。假设我想要“产品名称”,“类型”,“等级”等

+0

@RC。我没有得到任何错误...我想获得不同的字段名称,而不是价值,因为我设法得到值... – 2012-08-10 06:37:55

回答

1

您可以通过返回JSONArray的.names()获取所有属性名称。在数组的帮助下,您可以获得给定值的适当属性名称(假设该值是唯一的)。