Android JSON,无法解析下面的JSON
{
"col": [
"com",
"Company"
],
"rows": [
[
2068,
"RAF"
]
]
}
JSON格式
答案 0 :(得分: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);
}
这将返回JsonArray“i”索引处的字符串值
答案 1 :(得分: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);
}
答案 2 :(得分: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);
}
答案 3 :(得分: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]...........
答案 4 :(得分:0)
DrawString
在这里你分割JSONArray的方式更容易管理,当它们更大时至少更具可读性
{
"col": [
"com",
"Company"
],
"rows": [
[
2068,
"RAF"
]
]
JSONObject json=new JSONObject("here goes the incoming string json");
JSONArray col,rows;
String com,company,number,raf;
在这里,你从上面写的
分离数组中获取数据col=json.getJSONArray("col");
rows=json.getJSONArray("rows");
这种方式更好,以防你不知道数组的长度,所以你可以用for迭代并得到一个字符串的aray
com=col.get(0).toString();
company=col.get(1).toString();
number=rows.get(0).toString();
raf=rows.get(1).toString();