Как анализировать только некоторые выбранные массивы Json и объекты Json с URL-адреса на устройство Android

У меня есть данные Json, которые содержат несколько массивов JSON и объектов JSON, поэтому я хочу проанализировать некоторые из них в активности Android,...

Пример массива JSON и объектов Json на здесь

Итак, я хочу вызвать некоторые из них на устройстве Android... я знаю, как разбирать, но мне нужно только часть содержимого,..

у меня такие данные

 {
   "process":"done"
    "one":1
   "List": {
    "Something": [
        {
            "Name": "John",
            "phone": "test"
        }
    ]
     "details":"ok"
     "two":2 
    "SomethingElse": [
        {
            "Name": "Smith",
            "phone": "test"
        }
    ]
   }
  }

Например, у меня есть служба Restful, и у нее много данных, .. поэтому, если вы хотите вызвать «список» или «SomethingElse» jsonObjecs/arrays.... он не вызывает его удар при запуске, ..


person Whats Going On    schedule 10.12.2013    source источник


Ответы (2)


Вы можете рассмотреть возможность анализа ваших данных способом SAX, просто просмотрите свои узлы, если это то, что вам нужно, проанализируйте их, в противном случае пропустите их и продолжайте. Посмотрите здесь, JSONReader — это то, что вам нужно.

person Marius M    schedule 10.12.2013
comment
Спасибо за ответ, сэр, ... Но сервис Restful не разработан из xml.. Он предназначен для объектов JSON и массивов Json,... ТАК Я хочу назвать их, вот и все, .. но я хочу, чтобы мне нужно для вызова любого массива JSON или любого объекта JSON,.. для URL-адреса, и который необходимо проанализировать,.. и в котором также есть изображения. Спасибо,.. - person Whats Going On; 10.12.2013
comment
Я также указывал на JSON, возможно, я использовал неправильную терминологию, когда говорил об узлах. Взгляните на пример и класс JSONReader. - person Marius M; 10.12.2013
comment
k, сэр,... это URL-адрес,.. если да, пожалуйста, предоставьте еще несколько ссылок,... или пример для этого в Android,.. - person Whats Going On; 10.12.2013
comment
Просто чтобы убедиться, что я правильно понял проблему, ваши данные json извлекаются на основе запроса URL, верно? Это означает, что вы получите ответ с потоком, содержащим ваши данные json. Это тот поток, который вы сможете легко проанализировать с помощью JSONReader; Если я ошибся, дайте мне детали, чтобы правильно понять вашу проблему. - person Marius M; 10.12.2013
comment
да сэр,. это из службы Restful,... и я анализирую эти данные для Android,.. поэтому я использовал эту ссылку,.. developer-android-tutorial.blogspot.in/2013/07/, чтобы получить данные из URL-адреса, чтобы он используется мировое население,.. если я использую список или что-то в этом месте, возникает ошибка,... Пожалуйста, помогите мне, сэр,.. - person Whats Going On; 10.12.2013
comment
Пришлите мне ваши трассировки logcat и фрагменты кода, я постараюсь взглянуть. - person Marius M; 10.12.2013

Json Array для вашего ответа выше будет таким

     JSONObject JObject = new JSONObject(response);
      String Process = JObject.getstring("process");
    String one= JObject.getstring("one");
    JSONObject Listobject= JObject.getjsonobject("List");
    JsonArray something =Listobject.getjsonarray("Something");
    for(int i = 0 ; i < something.length(); i++){
     JsonObject somethingobject =something.getjsonobject(i);
         String name=somethingobject.getstring("Name"); 
        String phone=somethingobject.getstring("phone"); 
    }

      String details= JObject.getstring("details");
    String two= JObject.getstring("two");

    JsonArray SomethingElse=JObject.getjsonarray("SomethingElse");

    for(int j = 0 ; j < SomethingElse.length(); j++){
     JsonObject SomethingElseobject =SomethingElse.getjsonobject(j);
         String name1=SomethingElseobject .getstring("Name"); 
        String phone1=SomethingElseobject .getstring("phone"); 
    }

Код для получения данных с сервера

public void run() {

        Log.i("run method", "calling run method");
        try {
            if (method == HttpMethodType.GET) {
                response(executeHttpGet());
            } else {
                response(executeHttpPost());
            }
        } catch (ConnectTimeoutException ex) {
            exception("Please retry after sometime...");
        } catch (UnknownHostException e) {
            exception("Server might be down...");
        } catch (IOException e) {
            exception("Please check your internet connectivity...");
        } catch (Exception e) {
            exception(e.getMessage());
        }

        Log.i(tag, "Http Call Finish");
    }

    private void response(String response) {

        if (resListener != null) {
            resListener.handleResponse(response);
        }
    }

    private void exception(String exception) {
        if (excepListener != null) {
            excepListener.handleException(exception);
        }
    }

    public String executeHttpGet() throws Exception {
        Log.i("calling method", "calling execute");
        Log.i("path in method", path);
        BufferedReader in = null;
        String page = null;
        try {

            HttpGet request = new HttpGet(path);
            HttpResponse response = client.execute(request,localContext);

            Log.i("======", response.toString());
            in = new BufferedReader(new InputStreamReader(response.getEntity()
                    .getContent()));
            StringBuffer sb = new StringBuffer("");
            String line = "";

            while ((line = in.readLine()) != null) {
                Log.i("the response is ::", line);
                sb.append(line);

            }
            in.close();
            page = sb.toString();
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return page;
    }
person Ravneet Singh    schedule 10.12.2013
comment
привет, сэр, Равнит,... мне нужно вызвать это из службы Restful, я имею в виду из URL-адреса, один раз проверьте эту ссылку developer-android-tutorial.blogspot.in/2013/07/ я, как мне нужно получить доступ к вышеуказанным данным, если это исходящий с URL-адреса - person Whats Going On; 10.12.2013