-1

我收到以下错误,andoroid 试图从 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

哪一行导致Android端提示异常?键入这个来解析 JSONObject 字符串:

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

希望它有效!

于 2012-05-18T22:28:42.180 回答
0

我不知道这是否是问题,但 json_encode() 仅适用于 UTF-8 值: http: //php.net/json_encode

于 2012-04-20T12:00:13.330 回答
0

这可能是 JSON 中的问题。通过粘贴 json 或 php 文件的 url,使用JSONLint检查 php 返回的 json。

于 2012-04-20T12:35:10.927 回答