Преобразование xml в json и извлечение данных

#java #android #json #xml

#java #Android #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 .

Комментарии:

1. Отлично ! Это работает. Большое спасибо!