Vini
Vini

Reputation: 977

How to call the JSON object in Android

I am new to the android development. i am having the following android code to call the json

  try {

        JSONObject jsonObject = new JSONObject(result);
        //JSONObject object = jsonObject.getJSONObject("CUSTOMER_ID");
        JSONArray jArray = new JSONArray(CUSTOMER_ID);
        returnUsername1 = jArray.getInt("CUSTOMER_ID");
        Toast.makeText(getApplicationContext(), ""+returnUsername1,Toast.LENGTH_LONG).show();
        for (int i = 0; i < jArray.length(); i++) {
 }

My JSON format is like [[{"0":"1","CUSTOMER_ID":"1"}]].

i refer some json format it should like [{"0":"1","sno":"1"}] i can understand this.But mine is different from this.

how can i call the customer_id using the above code.anyone can suggest a solution.

Upvotes: 3

Views: 1077

Answers (5)

Vrashabh Irde
Vrashabh Irde

Reputation: 14367

Try this

JSONObject jsonObject = new JSONObject(result);
JSONArray jArray =json.getJSONArray("enterjsonarraynamehere");

for (int i=0; i < jArray.length(); i++)
{
    try {
        JSONObject oneObject = jArray.getJSONObject(i);
        // Pulling items from the array
        String cust= oneObject.getString("CUSTOMER_ID");
    } catch (JSONException e) {
        // Oops something went wrong
    }
}

Im assuming your json is something like this

<somecode>
    {
        "enterjsonarraynamehere": [
            {  "0":"1",
               "CUSTOMER_ID":"1"
            },
            {   "0":"2",
               "CUSTOMER_ID":"2"
            } 
        ],
        "count": 2
    }
<somecode>

Upvotes: 0

Raghunandan
Raghunandan

Reputation: 133560

What you have is a Json Array

JSONArray jsonarray = new JSONArray(result); // result is a Array

[ represents json array node

{ represents json object node

Your Json. Do you need a Json array twice?

  [ // array
    [ //array
        { // object
            "0": "1",  
            "CUSTOMER_ID": "1"
        }
    ]
   ]

Parsing

JSONArray jsonArray = new JSONArray(result);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
String firstvalue = jb.getString("0");
String secondvalue = jb.getString("CUSTOMER_ID");
Log.i("first value is",firstvalue);
Log.i("second value is",secondvalue);

LogCat

 07-22 14:37:02.990: I/first value is(6041): 1
 07-22 14:37:03.048: I/second value is(6041): 1

Upvotes: 1

Onur A.
Onur A.

Reputation: 3017

if you have any problems regarding to your JSON format first validate it through this site http://jsonlint.com/

then for parsing

JSONObject jsonObject = new JSONObject(result);
// since your value for CUSTOMER_ID in your json text is string then you should get it as 
// string and then convert to an int
returnUsername1 = Integer.parseInt(jsonObject.getString("CUSTOMER_ID"));

Upvotes: 0

user2483079
user2483079

Reputation: 533

CUSTOMER_ID is not considered a JSONObject in this case. If jsonObject is what you think it is, then you should be able to access it with jsonObject.getString("CUSTOMER_ID")

Upvotes: 0

Benjamin Schwalb
Benjamin Schwalb

Reputation: 1134

Generally, to get a JSONObject from a JSONArray:

JSONObject jsonObject = jsonArray.getJSONObject(0); //0 -> first object

And then

int userID = jsonObject.getInt("CUSTOMER_ID");

Upvotes: 0

Related Questions