Android JSON,无法解析下面的json

时间:2015-03-10 11:26:40

标签: android json

Android JSON,无法解析下面的JSON

{
    "col": [
        "com",
        "Company"
    ],
    "rows": [
        [
            2068,
            "RAF"
        ]
    ]
}

JSON格式

5 个答案:

答案 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();