-1

Android が PHP からデータを返そうとすると、次のエラーが発生します。

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);
        map = new HashMap<String, String>();
        map.put("nomclt", (String) json_data.get("nomclt"));
        map.put("prenomclt", (String) json_data.get("prenomclt"));
        // map.put("adresse", (String) json_data.get("adresse"));
        //enfin on ajoute cette hashMap dans la arrayList
        listItem.add(map)

スクリプトphp

<?php
    header('Content-type: application/json');

    mysql_connect("localhost","root","");
    mysql_select_db("test");

    $sql=mysql_query("SELECT * FROM client");
    $output = array();
    while($row=mysql_fetch_array($sql))
        $output[]=$row;

    print(json_encode($output));

    mysql_close();
?>
4

3 に答える 3

0

JSONの問題かもしれません。php ファイルの json または url を貼り付けて、JSONLintで php によって返された json を確認します。

于 2012-04-20T12:35:10.927 に答える
0

それが問題かどうかはわかりませんが、json_encode() は UTF-8 値でのみ機能します: http://php.net/json_encode

于 2012-04-20T12:00:13.330 に答える
0

Android側で例外プロンプトが表示された原因はどの行ですか? 代わりに、JSONObject 文字列を解析するために次のように入力します。

map = new HashMap<String, Object>(); 

それがうまくいくことを願っています!

于 2012-05-18T22:28:42.180 に答える