2015-03-10 4 views
-2

Android JSON, не может разобрать ниже JSONAndroid JSON, не могу разобрать ниже JSON

формата
{ 
    "col": [ 
     "com", 
     "Company" 
    ], 
    "rows": [ 
     [ 
      2068, 
      "RAF" 
     ] 
    ] 
} 

JSON

+0

Cant parse означает ?? wt вы делаете и wt вы получаете ... предоставить подробную информацию – Chandrakanth

+0

Проверьте это http://stackoverflow.com/questions/8215193/json-android-parsing-json – Cloy

ответ

0

Вы можете разобрать этот JSON с этим кодом

JSONObject jsonObject = new JSONObject("your jsonstring"); 
JSONArray jsonArray = jsonObject.getJSONArray("your_json_array_name"); 
for(int i=0; i<jsonArray.length(); i++) 
{ 
    String value = jsonArray.getString(i); 
} 

это вернет строковое значение в «i» -ом индексе JsonArray

0

попробуйте этот код

JSONObject jsonObject = new JSONObject(" json string"); 
JSONArray jsonArrayColumns = jsonObject.getJSONArray("columns"); 
for(int i=0; i<jsonArrayColumns.length(); i++) 
{ 
    String value = jsonArrayColumns.getString(i); 
} 


JSONArray jsonArrayRows = jsonObject.getJSONArray("columns"); 
for(int i=0; i<jsonArrayRows.length(); i++) 
{ 
    String value = jsonArrayRows.getString(i); 
} 
0

Вы можете разобрать, как это, но сделать ваш JSON немного обычного формата

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



    private void parseJSON() throws JSONException { 
     String json = "{\"columns\":[\"companyEventGroupIDUnique\",\"Company Event Group Description\"],\"rows\":[[206807106,\"RCB Home Games 2015\"]]}"; 
     JSONObject jsonObject = new JSONObject(json); 
     JSONArray columns = jsonObject.getJSONArray("columns"); 
     String column0 = columns.getString(0); 
     String column1 = columns.getString(1); 
     JSONArray rowsWrapper = jsonObject.getJSONArray("rows"); 
     JSONArray rows = rowsWrapper.getJSONArray(0); 
     int row0 = rows.getInt(0); 
     String row1 = rows.getString(1); 

     Log.d("values-", "column0 " + column0 + " column1 " + column1 + " row0 " + row0 + " row1 " + row1); 
    } 
+0

Как я должен печатать данные в тексте Посмотреть?? –

+0

Вы можете делать то, что хотите. Это полностью базовые типы данных. Просто вы можете установить второй аргумент журнала в текстовое окно. –

0

В JSON, {} представляет объект и [] представляет собой массив.

///so first get json object from response 

JSONObject jobj = response.getJSONobject(); 

////then after get array from jobj with array tag name 

JSONArray ara1=jobj.getJSONArray("col"); 

////same as a second array 


///////now get string value from array 

String name=ara1[0]........... 
0
{ 
"col": [ 
    "com", 
    "Company" 
], 
"rows": [ 
    [ 
     2068, 
     "RAF" 
    ] 
] 
JSONObject json=new JSONObject("here goes the incoming string json"); 
JSONArray col,rows; 
String com,company,number,raf; 

здесь вы разделяете JSONArray, что путь его легче управлять, когда они больше ВЗ по крайней мере, его более читаемому

col=json.getJSONArray("col"); 
rows=json.getJSONArray("rows"); 

здесь вы запрашиваете данные из отделяющих массивов, которые прописаны выше

com=col.get(0).toString(); 
company=col.get(1).toString(); 

number=rows.get(0).toString(); 
raf=rows.get(1).toString(); 

этот способ лучше, если вы не знаете длину массивов, поэтому y ou может выполнять итерацию с помощью a для и получить пропуск Strings

ArrayList<String> colstring; 
colstring = new ArrayList<String>(); 
for(int i=0;i<facilidades.length();i++) 
{ 
    colstring.add(col.get(i).toString()); 
}