Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么JSON请求以XML的形式返回?_Android_Xml_Json_Parsing_Jsonexception - Fatal编程技术网

Android 为什么JSON请求以XML的形式返回?

Android 为什么JSON请求以XML的形式返回?,android,xml,json,parsing,jsonexception,Android,Xml,Json,Parsing,Jsonexception,我是安卓的noob,我正试图从以下链接解析JSON:“”。但是,当我发送解析请求时,我收到一个错误,上面写着“解析数据org.json.JSONException时出错:java.lang.String类型的值xml无法转换为JSONObject”。至少可以说,这是令人困惑的,因为链接显然是一个JSON。非常感谢您对解决此问题的任何帮助 我的代码: JSONObject json = JSONfunctions.getJSONfromURL("http://services.packetizer

我是安卓的noob,我正试图从以下链接解析JSON:“”。但是,当我发送解析请求时,我收到一个错误,上面写着“解析数据org.json.JSONException时出错:java.lang.String类型的值xml无法转换为JSONObject”。至少可以说,这是令人困惑的,因为链接显然是一个JSON。非常感谢您对解决此问题的任何帮助

我的代码:

JSONObject json = JSONfunctions.getJSONfromURL("http://services.packetizer.com/spotprices/?f=json");                    
                        if(json==null){
                            //Do Nothing
                        }else{
                            String usdgold = json.getString("gold");             
                            livespotgold = Double.parseDouble(usdgold);
                            storedspotgold=livespotgold;
                            Log.e("Spot Gold Packetizer", String.valueOf(livespotgold));

                            String usdsilver = json.getString("silver");             
                            livespotsilver = Double.parseDouble(usdsilver);
                            storedspotsilver=livespotsilver;
                            Log.e("Spot Silver Packetizer", String.valueOf(livespotsilver));
                            haveSpot = true;
                        }

我假设您正在使用它的
JSONfunctions
类或其修改版本(因为您收到的是
JSONObject
而不是
JSONArray

注意,该代码发送一个HTTP POST。当您向该端点发送POST时,该端点将返回XML。您需要更改代码以发送HTTP GET:

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);

你知道一种只解析JSON部分的方法吗?对不起,我错了,它看起来只是返回了一个JSON字符串,我的谢意。这让我在过去的几个小时里感到困惑