Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中google detect translate api的json解析中出现强制关闭错误_Android_Json_Google Translate - Fatal编程技术网

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);”