2016-10-14 27 views
-1

我必須從json中提取一些數據。將xml轉換爲json並提取數據

經過HTTP GET我將我的xml(網站只提供xml)轉換爲json

當我嘗試從json中提取數據時,出現錯誤。

一些建議? 在此先感謝

Xml --> <data> <user id = "value" name="value" surname = "value" /> </data>

轉換後,我有類似的東西

Json --> {"data":{"user":[{"id":"value","name":"value","surname":"value"}]}} 



    void convert(){ 
    String xml; //data from HTTP GET      
      JSONObject jsonObj = null; 
      JSONObject data = jsonObj.getJSONObject("data"); 
      Log.d("JSON LOG","DATA: " + data.toString()); 
      try{ 

       jsonObj = XML.toJSONObject(xml); 


       JSONArray jArray = jsonObj.getJSONArray("user"); 

       for (int i = 0 ; i < jArray.length(); i++){ 

        JSONObject jsonObject = jArray.getJSONObject(i); 

        String id = jsonObject.getString("id"); 

        Log.d("JSON LOG","ID: " + id); 
        String name = jsonObject.getString("name"); 

        Log.d("JSON LOG","NAME: " + name); 
       String sname = jsonObject.getString("surname"); 

        Log.d("JSON LOG","SNAME: " + sname); 

      }catch(JSONException e){ 
      Log.e("JSON Exception",e.getMessage()); 
      e.printStackTrace(); 

     } 

    }//end void 

我從catch --->E/JSON Exception: No value for user

回答

1

JSONArray jArray = jsonObj.getJSONArray("user");

之前添加以下行有以下錯誤
JSONObject jObj1 = jsonObj.getJSONObject("data"); 

您的user JSONArray位於JSONObject data內。

+0

完美!有用。非常感謝! –

+0

高興地幫助:) –