How to Parse a JSON Object in Android

How to Parse a JSON Object In Android

In the end I solved it by using JSONObject.get rather than JSONObject.getString and then cast test to a String.

private void saveData(String result) {
try {
JSONObject json= (JSONObject) new JSONTokener(result).nextValue();
JSONObject json2 = json.getJSONObject("results");
test = (String) json2.get("name");
} catch (JSONException e) {
e.printStackTrace();
}
}

Android parse JSONObject

UPDATE 2018

After 5 years there is a new "standard" for parsing json on android. It's called moshi and one can consider it GSON 2.0. It's very similar but with design bugs fixed that are the first obstacles when you start using it.

https://github.com/square/moshi

First add it as a mvn dependency like this:

<dependency>
<groupId>com.squareup.moshi</groupId>
<artifactId>moshi-kotlin</artifactId>
<version>1.6.0</version>
</dependency>

After adding it we can use like so (taken from the examples):

String json = ...;

Moshi moshi = new Moshi.Builder().build();
JsonAdapter<BlackjackHand> jsonAdapter = moshi.adapter(BlackjackHand.class);

BlackjackHand blackjackHand = jsonAdapter.fromJson(json);
System.out.println(blackjackHand);

More infos on their GitHub page :)

[old]

I would recommend using Gson.

Here are some links for tutorials:

  1. how to convert java objecto from json format using GSON
  2. Parse JSON file using GSON
  3. Simple GSON example
  4. Converting JSON data to Java object

An alternative to Gson you could use Jackson.

  1. Jackson in 5 minutes
  2. how to convert java object to and from json

This libraries basically parse your JSON to a Java class you specified.

Android Studio: How to parse a JSON Object from Inside of a JSON Array?

By getting first node in array you have obtained address node so no need to run loop there, address object is not an array you can get values directly. Try something like this:

        JSONArray array = object.getJSONArray("pollingLocations");
for (int i = 0; i < array.length(); i++) {
JSONObject jsonObject = array.getJSONObject(i);
String locationName = jsonObject.getJSONObject("address")
.getString("locationName");
Log.d("locationName", locationName);
JSONArray sourcesArray = jsonObject.getJSONArray("sources");

// run loop to get values from this array
for (int j = 0; j < sourcesArray.length(); j++){
JSONObject source = sourcesArray.getJSONObject(j);
String name = source.getString("name");
}
}

How to get and parse this JSON object to Android textview

I will suggest you to store your data to List

So, Initialize two List

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

then here you can store data

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();
}

This may be help you

How to parse single json object in android

Your id object is inside the user array. So you first need to parse that array. Please try the following code.

 try{
JSONObject obj=new JSONObject(jsonString);
JSONArray jArray = obj.getJSONArray("user");
String iid = jArray.getJSONObject(0).getString(TAG_ID);
Log.i(TAG,iid);
final TextView CardBalanceID = (TextView) findViewById(R.id.CardBalanceID);
CardBalanceID.setText(iid);

}catch(JSONException e){
Log.i(TAG,"EXCEPTION");
e.printStackTrace();}


}

How to parse JSON Object Android Studio

Your json contains an object, not an array. Replace

JSONArray mJsonArray = new JSONArray(jsonResult);

by

JSONObject movieObject = new JSONObject(jsonResult);    
String title = movieObject.getString("Title");

How to parse json string in Android?

Use JSON classes for parsing e.g

JSONObject mainObject = new JSONObject(Your_Sring_data);
JSONObject uniObject = mainObject.getJSONObject("university");
String uniName = uniObject.getString("name");
String uniURL = uniObject.getString("url");

JSONObject oneObject = mainObject.getJSONObject("1");
String id = oneObject.getString("id");
....

Error while parsing JSON Object in Java Android

There is 4 mistakes in your code,

1.You have to check whether group has teams instead match has teams.

2.You have to get team as JSONArray instead of JSONObject because it is array.

3.You have to check the size of team, instead of find the object with key 0, there is no object with name 0 in your group,

4.You have to get the object based on index instead of key(ie., 0)

Please check the working code, this is tested

try {
JSONObject match = new JSONObject(response);
if (match.has("group")) {
JSONObject group = match.getJSONObject("group");

if (group.has("Teams")) {
JSONArray teams = group.getJSONArray("Teams");

if (teams.length() > 0) {
JSONObject teams_object =(JSONObject) teams.get(0);
String team_name = teams_object.getString("name");
String matches_played = teams_object.getString("p");
String matches_won = teams_object.getString("w");
String matches_lost = teams_object.getString("l");
String points = teams_object.getString("points");
Log.v(TAG, team_name);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}


Related Topics



Leave a reply



Submit