user3171361
user3171361

Reputation: 1

Parsing string to json on android

How to parse HTTP response ton JSON object ?

I changed my json code to:

{
    "data": [{
        "id": 1,
        "sensor1": 76,
        "sensor2": 75
    }, {
        "id": 2,
        "sensor1": 76,
        "sensor2": 206
    }]
}

And my code is now:

JSONObject json = new JSONObject(mJson);
try {
data = json.getJSONArray("data");
for (int i = 0; i < json.length(); i++) {
    HashMap<String, Integer> map = new HashMap<String, Integer>();
    JSONObject obj = (JSONObject) data.get(i);

    map.put(TAG_SENSOR_1, obj.getInt("sensor1"));
    map.put(TAG_SENSOR_2, obj.getInt("sensor2"));

    dataList.add(data.getInt("id") - 1, map);
}
} catch (JSONException e) {
e.printStackTrace();
}

But I have the same problem

Upvotes: 0

Views: 88

Answers (1)

henry4343
henry4343

Reputation: 3921

edit your string to this format

{content:[{
              first:1,
              second:76,
              third:75
          },
          {
              first:2,
              second:76,
              third:75
          },
          {
              first:3,
              second:206,
              third:75
          },
          {
              first:4,
              second:6,
              third:175
          },
          {
              first:5,
              second:176,
              third:75
          }]
}

then use JSONObject and JSONArray to convert string

JSONArray array = new JSONObject(string).getJSONArray("content");
for(int i=0;i<array.size();i++){
    JSONObject obj = array.get(i);
    Log.i(TAG,"obj.getInt = "+obj.getInt("first"));
    Log.i(TAG,"obj.getInt = "+obj.getInt("second"));
    Log.i(TAG,"obj.getInt = "+obj.getInt("third"));
}

Upvotes: 1

Related Questions