android中google detect translate api的json解析中出现强制关闭错误
我正在使用此代码检测源语言android中google detect translate api的json解析中出现强制关闭错误,android,json,google-translate,Android,Json,Google Translate,我正在使用此代码检测源语言 jsonObj = new JSONObject(response); JSONObject jsoObj2 = jsonObj.getJSONObject("data"); JSONArray jArray = jsoObj2.getJSONArray("detections"); JSONObject steps = jArray.getJSONObject(0); srcLanguage =
jsonObj = new JSONObject(response);
JSONObject jsoObj2 = jsonObj.getJSONObject("data");
JSONArray jArray = jsoObj2.getJSONArray("detections");
JSONObject steps = jArray.getJSONObject(0);
srcLanguage = steps.getString("language");
以下是回应
{
"data": {
"detections": [
[
{
"language": "fr",
"isReliable": false,
"confidence": 0.41935483
}
]
]
}
}
请帮助我解析这个json响应
{
"data": {
"detections": [
[
{
"language": "fr",
"isReliable": false,
"confidence": 0.41935483
}
]
]
}
}
我调试代码并得到这个异常
org.json.JSONException: Value [{"isReliable":false,"confidence":0.41935483,"language":"fr"}] at 0 of type org.json.JSONArray cannot be converted to JSONObject
将其更改为:
jsonObj = new JSONObject(response);
JSONObject jsoObj2 = jsonObj.getJSONObject("data");
JSONArray jArray = jsoObj2.getJSONArray("detections");
JSONArray jArray2 = jArray.getJSONArray(0);
JSONObject steps = jArray2.getJSONObject(0);
srcLanguage = steps.getString("language");
因为数组中有一个数组。如果上面提到的是响应,则需要进行细微更改
jsonObj = new JSONObject(response);
JSONObject jsoObj2 = jsonObj.getJSONObject("data");
JSONArray jArray = jsoObj2.getJSONArray("detections");
JSONArray steps = jArray.getJSONArray(0);
srcLanguage = jArray.getJSONObject(0).getString("language");
请尝试他的…请添加日志cat错误。它不起作用。。给出错误“将类型JSON数组更改为此行的JSON对象JSONArray jArray2=jArray.getJSONArray(0);”