2012-08-10 135 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()獲取所有屬性名稱。在數組的幫助下,您可以獲得給定值的適當屬性名稱(假設該值是唯一的)。