2016-04-13 5 views
-5

У меня есть следующие данные в формате JSON, который является JSON массива:Синтаксический JSON массив в Android в TextView

{"Temperature":"26.10","Date":"2016-04-11 14:45:25"} 

Я попытался следующий код правильным для синтаксического анализа, однако я не уверен, если я «м делает это правильно:

JSONArray jArr = new JSONArray (data); 
    JSONArray tempArr = getArray("Temperature", jArr); 
    String temp = jArr.getString("Temperature"); 
    TextView Temp1 = (TextView) findViewById(R.id.textTemp); 
    Temp1.setText("Temperature: " + temp); 

Edit: Так что я испортил и получил это неправильно, он должен быть в формате JSON объект


+2

Ваши данные не массив, пожалуйста, узнать некоторые основы первой – Selvin

+1

[Проверьте здесь] (https://jsonformatter.curiousconcept.com/) Ваш ** ** JSON действителен или нет –

+1

**, который является массивом JSON: ** ваши данные не похожи на 'JsonArray' –

ответ

0

Ab совершенно неправильно. Дорогой, просто посмотри свои данные json. Является JSONObject не массивом json. Правильно ли способ, как показано ниже

JSONObject json = new JSONObject (data); 

    String temp = json.optString("Temperature"); 
    String date = json.optString("Date"); 
    TextView Temp1 = (TextView) findViewById(R.id.textTemp); 
    Temp1.setText("Temperature: " + temp); 
+0

Спасибо, поскольку это один объект, я получу информацию о температуре и дате? – collision934

0
 JSONObject jsonObject = null; 
     try { 
      jsonObject = new JSONObject(data); 
      String temp = jsonObject.getString("Temperature"); 
      TextView Temp1 = (TextView) findViewById(R.id.textTemp); 
      Temp1.setText("Temperature: " + temp); 

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

На самом деле ваши данные не в формате JSONArray он находится в JSONObject формиата, так что вам потребуется разобрать с JSONObject

+0

спасибо, от этого я должен получать информацию о температуре и дате, поскольку это один объект? – collision934

+0

добро пожаловать @ столкновение934 –

0

Как есть два объекта с другим именем. Поэтому вам нужно получить доступ к информации о температуре и дате с помощью другого текстового поля. Это будет выглядеть, как показано ниже: -

JSONObject json = new JSONObject (data); 

    String temp = json.optString("Temperature"); 
    String date = json.optString("Date"); 
    TextView Temp1 = (TextView) findViewById(R.id.textTemp); 
    Temp1.setText("Temperature: " + temp); 
    TextView Date1 = (TextView) findViewById(R.id.textDate); 
    Date1.setText("Date: " + date); 
Смежные вопросы