WedX - журнал о программировании и компьютерных науках

Как получить и проанализировать этот объект JSON в текстовом представлении Android

Я использую API, предоставленный CryptoCompare. Мне нужно получить Symbol и Price из этого объекта JSON.

{
  "Response": "Success",
  "Message": "Do not take life too seriously. You will never get out of it alive.",
  "Data": [
    {
      "Symbol": "USD",
      "Price": 5660.94,
      "Open24Hour": 5155.13,
      "LastUpdateTS": 1507885905,
      "Volume24Hours": 222438.875,
      "Volume24HoursTo": 1214073220
    },
    {
      "Symbol": "EUR",
      "Price": 4757.16,
      "Open24Hour": 4318.19,
      "LastUpdateTS": 1507885905,
      "Volume24Hours": 26488.4023,
      "Volume24HoursTo": 120264888
    }
  ],
  "Type": 100
}
13.10.2017

  • что ты пробовал? 13.10.2017
  • Друг мой, я предлагаю тебе хотя бы попробовать что-нибудь. Это задача, которую вы можете легко выполнить, немного погуглив. Позвольте дать вам подсказку: Gson 13.10.2017

Ответы:


1

Я предлагаю вам сохранить ваши данные в List

Итак, инициализируйте два List

List<String> symbol = new ArrayList<String>();
List<String> price = new ArrayList<String>();

то здесь вы можете хранить данные

try {

    JSONObject json = new JSONObject(response);
    JSONArray jArray = json.getJSONArray("Data");
    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject object = jsonArray.getJSONObject(i);
        symbol.add(object.getString("Symbol"));
        price.add(object.getString("Price"));

    }

} catch (JSONException e) {
    e.printStackTrace();
}

Это может вам помочь

13.10.2017
  • Спасибо. Это был мой лучший ответ. 13.10.2017
  • Рад, что это работает, тогда, пожалуйста, примите этот ответ, нажав на галочку @emeUshiwu 13.10.2017
  • Как мне это принять? 13.10.2017
  • увидеть, что stackoverflow.com/help/accepted-answer @emeUshiwu 13.10.2017
  • Пожалуйста. 13.10.2017
  • пожалуйста, ответьте и на это тоже stackoverflow.com/questions/46730373/ 13.10.2017

  • 2

    Как это сделать ?

    • Если вы встретите {} в своем коде, вы можете использовать JSONObject для его разбора.

    • Если вы встретите [] в своем коде, вы можете использовать JSONArray для его разбора.

    • И если вы встретите [] в своем коде, вы можете использовать for loop, чтобы получить в нем значение.

    • И вы должны использовать try catch в своем коде.

    Попробуй это .

    try {
            JSONObject jsonObject = new JSONObject(response);
            String Response = jsonObject.optString("Response");
            JSONArray Data = jsonObject.optJSONArray("Data");
            for (int i = 0; i < Data.length(); i++) {
                JSONObject jo = Data.optJSONObject(i);
                String Symbol = jo.optString("Symbol");
                String Price = jo.optString("Price");
                String Open24Hour = jo.optString("Open24Hour");
                String LastUpdateTS = jo.optString("LastUpdateTS");
                String Volume24Hours = jo.optString("Volume24Hours");
                String Volume24HoursTo = jo.optString("Volume24HoursTo");
            }
    } catch (JSONException e) {
            e.printStackTrace();
    }
    
    13.10.2017
  • Спасибо за ваш ответ мне помогло 13.10.2017

  • 3

    Проверь это

    try {
    
                JSONObject objresponse=new JSONObject("{\"Response\":\"Success\",\"Message\":\"Do not take life too seriously. You will never get out of it alive.\",\"Data\":[{\"Symbol\":\"USD\",\"Price\":5660.94,\"Open24Hour\":5155.13,\"LastUpdateTS\":1507885905,\"Volume24Hours\":222438.875,\"Volume24HoursTo\":1.21407322E+09},{\"Symbol\":\"EUR\",\"Price\":4757.16,\"Open24Hour\":4318.19,\"LastUpdateTS\":1507885905,\"Volume24Hours\":26488.4023,\"Volume24HoursTo\":120264888.0}],\"Type\":100}");
                JSONArray arrayData=objresponse.getJSONArray("Data");
                for (int i=0;i<arrayData.length();i++){
                    JSONObject obj=arrayData.getJSONObject(i);
                    String symbol=obj.getString("Symbol");
                    float price=(float)obj.getLong("Price");
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
    
    13.10.2017
    Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]