how to parse this JSON
I am parsing one JSON file which is 
`[{"fieldmast":{"columns":["field_id","label","component","dependent","query","data_type","validation"],"data":[["D103","Travelling Allowance","E","","","C",""],["D104","Remarks","E","","","C",""]]}},{"menumast":{"columns":["menu_id","description","screen_id","menu_code","seq_no"],"data":[["1","Sales order","1","SO","1"],["2","Leaves","2","LE","2"],["3","Daily Sales Report 1","3","DS","3"],["4","Travelling Voucher","4","TV","4"]]}},{"screenfields":{"columns":["id","screen_id","field_id","seq_no","multiple"],"data":[["1","1","D103","1","0"],["2","1","D104","2","0"]]}},{"screenmast":{"columns":["screen_id","name"],"data":[["1","Sales Order Screen"]]}}]`

here i am able to get the objects like fieldmast,menumast... but i need to get the value of the values of columns and data field's.
when i am trying to parse it it gives json exception no value for columns and same for data.


this is my code for parsing


    DefaultHttpClient httpclient = new DefaultHttpClient();
    			HttpGet httpget = new HttpGet(url);
    			// http response (in JSON format)
    			HttpResponse response = httpclient.execute(httpget);
    			HttpEntity entity = response.getEntity();
    			InputStream is = entity.getContent();
    			ByteArrayOutputStream os = new ByteArrayOutputStream();
    
    			int j;
    			while ((j = is.read()) != -1) {
    				os.write(j);
    			}
    			// JSON object in to String
    			String jsonString = os.toString();
    			// JSON object in to Array of String
    			JSONArray array = new JSONArray(jsonString);
    
    			Log.d("Array", array.toString());   
    
    			for (int i = 0; i < array.length(); i++) {
    
    				JSONObject item = array.getJSONObject(i);
    				
    				jsonObjects.add(item);
    				
    				//JSONArray columnDataArray = item.getJSONArray("data");
    				//JSONArray columnData = item.getJSONArray("data");
    				
    				
    				JSONObject obj = item.getJSONObject("data");
    				
    			//	JSONObject obj2 = item.getJSONObject("columns");
    				
    				
    			
    			}
    			for(int i =0; i<jsonObjects.size(); i++){
    				JSONObject columnData = jsonObjects.get(i);
    				
    				
    				//JSONObject columnDataArray = columnData.getJSONObject("data");
    				JSONArray columnDataArray = columnData.getJSONArray("data");
    				Log.v("Data for JSON", columnDataArray.toString());
    			}
    
    		} catch (IOException ioe) {
    			ioe.printStackTrace();
    		} catch (JSONException je) {
    			je.printStackTrace();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}


i tried using both JSONArray and JSONObject but its not working for me please help me 


Thanks 
Mahaveer Muttha.
how to parse this JSON
===

I am parsing one JSON file which is 
`[{"fieldmast":{"columns":["field_id","label","component","dependent","query","data_type","validation"],"data":[["D103","Travelling Allowance","E","","","C",""],["D104","Remarks","E","","","C",""]]}},{"menumast":{"columns":["menu_id","description","screen_id","menu_code","seq_no"],"data":[["1","Sales order","1","SO","1"],["2","Leaves","2","LE","2"],["3","Daily Sales Report 1","3","DS","3"],["4","Travelling Voucher","4","TV","4"]]}},{"screenfields":{"columns":["id","screen_id","field_id","seq_no","multiple"],"data":[["1","1","D103","1","0"],["2","1","D104","2","0"]]}},{"screenmast":{"columns":["screen_id","name"],"data":[["1","Sales Order Screen"]]}}]`

here i am able to get the objects like fieldmast,menumast... but i need to get the value of the values of columns and data field's.
when i am trying to parse it it gives json exception no value for columns and same for data.


this is my code for parsing


    DefaultHttpClient httpclient = new DefaultHttpClient();
    			HttpGet httpget = new HttpGet(url);
    			// http response (in JSON format)
    			HttpResponse response = httpclient.execute(httpget);
    			HttpEntity entity = response.getEntity();
    			InputStream is = entity.getContent();
    			ByteArrayOutputStream os = new ByteArrayOutputStream();
    
    			int j;
    			while ((j = is.read()) != -1) {
    				os.write(j);
    			}
    			// JSON object in to String
    			String jsonString = os.toString();
    			// JSON object in to Array of String
    			JSONArray array = new JSONArray(jsonString);
    
    			Log.d("Array", array.toString());   
    
    			for (int i = 0; i < array.length(); i++) {
    
    				JSONObject item = array.getJSONObject(i);
    				
    				jsonObjects.add(item);
    				
    				//JSONArray columnDataArray = item.getJSONArray("data");
    				//JSONArray columnData = item.getJSONArray("data");
    				
    				
    				JSONObject obj = item.getJSONObject("data");
    				
    			//	JSONObject obj2 = item.getJSONObject("columns");
    				
    				
    			
    			}
    			for(int i =0; i<jsonObjects.size(); i++){
    				JSONObject columnData = jsonObjects.get(i);
    				
    				
    				//JSONObject columnDataArray = columnData.getJSONObject("data");
    				JSONArray columnDataArray = columnData.getJSONArray("data");
    				Log.v("Data for JSON", columnDataArray.toString());
    			}
    
    		} catch (IOException ioe) {
    			ioe.printStackTrace();
    		} catch (JSONException je) {
    			je.printStackTrace();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}


i tried using both JSONArray and JSONObject but its not working for me please help me 


Thanks 
Mahaveer Muttha.