0

Androidでphpファイルから送信されたJsonデータを読み取る方法

ここにphpコードがあります

$data = array("name" => "Hagrid", "age" => "36");                                                                    
$data_string = json_encode($data);  
echo $data_string;

ここにデータandroid jsonを読み取るコードがあります

InputStream instream = entity.getContent();

// String result = "";
Log.i("--------etat---------r","-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-");

String result = this.convertStreamToString(instream);
Log.i("--------etat---------r","-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-");

ここに InputStream オブジェクトを分析するメソッドがあります

public  String convertStreamToString(InputStream is) {

        convertStreamToString " );

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        StringBuilder sb = new StringBuilder();

        String line = null;
        try {

            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");

            }
        } catch (IOException e) {
            e.printStackTrace();

        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();

            }
        }

        return sb.toString();

    }

しかし、ここに表示されるコードがあります

11-15 10:46:58.744: I/Read from server(526): 11-15 10:46:58.744: I/Read from server(526): ( ! ) SCREAM: エラー抑制無視 11-15 10: 46:58.744: I/Read from server(526): ( ! ) Notice: Undefined index: json in C:\wamp\www\younes_project\younesservices.php 行4 11-15 10:46:58.744: I/Readサーバー (526) から: コール スタック 11-15 10:46:58.744: サーバー (526) からの I/読み取り: #TimeMemoryFunctionLocation 11-15 10:46:58.744: サーバー (526) からの I/読み取り: 10.0006142200{main} ( )..\younesservices.php : 0 11-15 10:46:58.744: サーバーからの読み取り (526): 11-15 10:46:58.744: サーバーからの読み取り (526): {"名前" :"ハグリッド","年齢":"36"}

しかし、私は変数のみを読みました

これ: {"name":"Hagrid","age":"36"}

4

1 に答える 1

0

このコードを使用してください。

public String getResult(String url) {

    Log.v(TAG, "Final Requsting URL is : :"+url);

    String line = "";
    String responseData = null;

    try {
        StringBuilder sb = new StringBuilder();
        String x = "";
        URL httpurl = new URL(url);
        URLConnection  tc= httpurl.openConnection();


        /*URLConnection tc = twitter.openConnection();
        HttpURLConnection httpConnection = (HttpURLConnection) tc;
        httpConnection.setRequestMethod("POST");*/
        //tc.setRe
        //tc.setDoOutput(false);

        BufferedReader in = new BufferedReader(new InputStreamReader(tc.getInputStream()));

        while ((line = in.readLine()) != null) {
            sb.append(line + "\n");
            x = sb.toString();
        }
        responseData = new String(x);
    }

   catch (FileNotFoundException e) {
       Log.v("NewWebHelper", "FileNotFoundException :");
        e.printStackTrace();
     }
    catch (IOException e) {
        Log.v("NewWebHelper", "IOException :");
        e.printStackTrace();
    }
  catch (Exception e) {
      Log.v("NewWebHelper", "Exception :");
        e.printStackTrace();
    }
    return responseData;
}
于 2013-04-13T11:14:33.240 に答える