Java 字符串无法转换为JSONObject?

Java 字符串无法转换为JSONObject?,java,php,mysql,json,android-emulator,Java,Php,Mysql,Json,Android Emulator,我是开发Android应用程序的初学者,这是我第一次从零开始编写代码,这就是为什么我觉得这对我来说非常困难。基本上,我只想消除这个错误,这样我就可以开始在我的Android应用程序上显示SQL表了。当我从mySQL表中获取数据时,这个错误阻止了我。我在LogCat得到这个: Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JS

我是开发Android应用程序的初学者,这是我第一次从零开始编写代码,这就是为什么我觉得这对我来说非常困难。基本上,我只想消除这个错误,这样我就可以开始在我的Android应用程序上显示SQL表了。当我从mySQL表中获取数据时,这个错误阻止了我。我在LogCat得到这个:

Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
05-03 15:45:25.586: W/System.err(552): java.lang.NullPointerException
05-03 15:45:25.626: W/System.err(552):  at hs.stockapp.StocksTask.doInBackground(StocksTask.java:64)
UserFunctions.java

 public JSONObject findStocks(){
    // Building Parameters
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("tag", findstocks_tag));
    JSONObject json = jsonParser.getJSONFromUrl(stocksURL, params);
    // return json
    return json;
} 
DB_functions.php

    public function search_stocks() {
    $result = mysql_query("SELECT company_name, com_sym, mkt_cap from stock ORDER BY com_sym") or die(mysql_error());
    $no_of_rows = mysql_num_rows($result);

    if ($no_of_rows > 0) {
        while($row=mysql_fetch_assoc($result)){
            $output[] = $row;
        }               
        print(json_encode($output)); 
        return $row;            
    return true;
    } else {
        // stocks not existed
        return false;
    }
mysql_close();  
}

搜索股票函数的生成结果

[{"company_name":"Asian Chorva","com_sym":"ASIA","mkt_cap":"4534356"},{"company_name":"Banko de Oro","com_sym":"BDO","mkt_cap":"54434"},{"company_name":"Bank of the Phil Island","com_sym":"BPI","mkt_cap":"5464554"},{"company_name":"College Hive In Boon","com_sym":"CHIB","mkt_cap":"5434654"},{"company_name":"Critical Heart Throb Racing","com_sym":"CHTR","mkt_cap":"53544564654"}]

我应该如何处理第64行??非常感谢:)任何帮助都将不胜感激。关于它的其他信息将非常有用

错误消息显示:


值错误消息显示:


值正确检查要显示的url,如
“http://10.0.2.2/api/“
在UserFunctions.java中,api文件夹存储在www或htdocs文件夹中

请正确检查要显示的url,如
”http://10.0.2.2/api/"
在UserFunctions.java中,api文件夹存储在www或htdocs文件夹中

您的服务器似乎没有用JSON响应,实际上是用xml响应。在打印JSON_encode($output)@VladimirIvanov之前,请尝试发送标题('Content-type:JSON/application')。谢谢!我想我现在已经掌握了错误的含义。现在找到解决方法。@ChadHedgcock谢谢,但这并没有解决问题:/n您的服务器似乎没有用JSON响应,实际上是用xml响应。在打印JSON_encode($output)@VladimirIvanov谢谢您之前,请尝试发送标题('Content-type:JSON/application')!我想我现在已经掌握了错误的含义。现在想办法解决它。@ChadHedgcock谢谢,但这并没有解决问题:/也许他正在编码JSON字符串,但没有阻止服务器生成带有标题和所有内容的标准HTML…@helios哦!有什么建议吗?对不起,我真的不懂。感谢您的快速回复@受虐狂-按照我在原始答案中给出的指示,会告诉你赫利俄斯的猜测是否正确。@Quentin我现在知道了。同样,这是代理在我尝试访问数据库时产生的错误。:/我会尝试找出我如何通过它,并检查我的问题是否得到解决。谢谢你们帮了大忙。也许他正在编码JSON字符串,但并没有阻止服务器生成带有标题和所有内容的标准HTML…@helios哦!有什么建议吗?对不起,我真的不懂。感谢您的快速回复@受虐狂-按照我在原始答案中给出的指示,会告诉你赫利俄斯的猜测是否正确。@Quentin我现在知道了。同样,这是代理在我尝试访问数据库时产生的错误。:/我会尝试找出我如何通过它,并检查我的问题是否得到解决。谢谢你们帮了大忙。
    public function search_stocks() {
    $result = mysql_query("SELECT company_name, com_sym, mkt_cap from stock ORDER BY com_sym") or die(mysql_error());
    $no_of_rows = mysql_num_rows($result);

    if ($no_of_rows > 0) {
        while($row=mysql_fetch_assoc($result)){
            $output[] = $row;
        }               
        print(json_encode($output)); 
        return $row;            
    return true;
    } else {
        // stocks not existed
        return false;
    }
mysql_close();  
[{"company_name":"Asian Chorva","com_sym":"ASIA","mkt_cap":"4534356"},{"company_name":"Banko de Oro","com_sym":"BDO","mkt_cap":"54434"},{"company_name":"Bank of the Phil Island","com_sym":"BPI","mkt_cap":"5464554"},{"company_name":"College Hive In Boon","com_sym":"CHIB","mkt_cap":"5434654"},{"company_name":"Critical Heart Throb Racing","com_sym":"CHTR","mkt_cap":"53544564654"}]