我做了一个简单的get请求,如果我的登录名和密码是正确的,则返回1或0。
我用另一根线连接。
这样地:

public void getConnection(){

    String url = null;

    url = NOM_HOTE + PATH_METHODE + "identifiant="+ identifiant.getText().toString() + "&password="+ password.getText().toString();

     HttpClient httpClient = new DefaultHttpClient();

     try{
         HttpGet httpGet = new HttpGet(url);
         HttpResponse httpResponse = httpClient.execute(httpGet);
         HttpEntity httpEntity = httpResponse.getEntity();

         if(httpEntity != null){


             InputStream inputStream = httpEntity.getContent();

             //Lecture du retour au format JSON
             BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
             StringBuilder stringBuilder = new StringBuilder();

             String ligneLue = bufferedReader.readLine();
             while(ligneLue != null){
                 stringBuilder.append(ligneLue + " \n");
                 ligneLue = bufferedReader.readLine();
             }
             bufferedReader.close();

             JSONObject jsonObject = new JSONObject(stringBuilder.toString());

             Log.i("Chaine JSON", stringBuilder.toString());


             JSONObject jsonResultSet = jsonObject.getJSONObject("nb"); <--it's here where the error occured

//               int nombreDeResultatsTotal = jsonResultSet.getInt("nb");
//               Log.i(LOG_TAG, "Resultats retourne" + nombreDeResultatsTotal);

         }// <-- end IF
     }catch (IOException e){
         Log.e(LOG_TAG+ "1", e.getMessage());
     }catch (JSONException e){
         Log.e(LOG_TAG+ "2", e.getMessage());

     }
}

我的json返回如下:{"nb":"1"}{"nb":"0"}
所以我的json是正确的。但当我提交表格时,在catch(JSONException)上有此错误:
11-07 17:01:57.833:e/clientjson2(32530):java.lang.string类型的nb处的值1不能转换为jsonobject
我不明白为什么,虽然我的语法、连接是正确的,而且在日志中有标记“chaine json”,但是我在响应中有{"nb:"1"}

最佳答案

nb是一个String,而不是一个JSONObject。变化

JSONObject jsonResultSet = jsonObject.getJSONObject("nb");

在里面
String result = jsonObject.getString("nb");

关于android - GET请求JSONObject android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19854416/

10-10 06:19