-1

こんにちは、json の php スクリプトからデータを取得しようとしています。いくつかのエラーが発生します。最初は、変数が解決されていません。以下のように新しい変数を追加しようとすると、アプリを実行した後にエラーが発生し、「変換中にエラーが発生しました」というエラーが表示されます。これは主にチュートリアル コードですが、前に述べたように、IS 変数に問題があります。手伝って頂けますか?

ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
  nameValuePairs.add(new BasicNameValuePair("year","1980"));
  InputSteam is = null;

  //http post
  try{
          HttpClient httpclient = new DefaultHttpClient();
          HttpPost httppost = new HttpPost("http://ik.su.lt/~jbarzelis/bandymas/getAllPeopleBornAfter.php");
          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
          HttpResponse response = httpclient.execute(httppost);
          HttpEntity entity = response.getEntity();
          InputStream is = entity.getContent();
  }catch(Exception e){
          Log.e("log_tag", "Error in http connection "+e.toString());
  }
  //convert response to string
  try{
          BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
          StringBuilder sb = new StringBuilder();
          String line = null;
          while ((line = reader.readLine()) != null) {
                  sb.append(line + "\n");
          }
          is.close();

          result=sb.toString();
  }catch(Exception e){
          Log.e("log_tag", "Error converting result "+e.toString());
  }

  //parse json data
  try{
          JSONArray jArray = new JSONArray(result);
          for(int i=0;i<jArray.length();i++){
                  JSONObject json_data = jArray.getJSONObject(i);
                  Log.i("log_tag","id: "+json_data.getInt("id")+
                          ", name: "+json_data.getString("name")+
                          ", sex: "+json_data.getInt("sex")+
                          ", birthyear: "+json_data.getInt("birthyear")
                  );
          }
  }
  catch(JSONException e){
          Log.e("log_tag", "Error parsing data "+e.toString());
  }
}
4

1 に答える 1

1

InputStream宣言の単純なタイプミスが出発点になるのではないかと思います。

于 2012-04-07T15:00:40.993 に答える