0

我是 android 的菜鸟,我正在尝试从此链接解析 JSON:“ http://services.packetizer.com/spotprices/?f=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;
                        }
4

1 回答 1

2

我假设您正在使用此处JSONfunctions的类或它的修改版本(因为您收到的是 a而不是 a )。JSONObjectJSONArray

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

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
于 2013-02-18T22:19:06.660 回答