2013-02-18 131 views
0

我是android的noob,我试图从这个链接解析JSON:“http://services.packetizer.com/spotprices/?f=json”。但是,当我发送我的请求来解析它时,我收到一个错误,说...“解析数据时出错org.json.JSONException:类型java.lang.String的值xml无法转换为JSONObject”。至少可以这么说,因为链接显然是JSON。任何解决这个问题的帮助都非常感谢为什么JSON请求返回为XML?

我的代码:

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; 
         } 
+0

您是否知道仅解析JSON节的方法? – 2013-02-18 21:36:20

+0

对不起,我错了,它看起来像只是返回一个JSON字符串我的坏 – dm03514 2013-02-18 21:37:35

回答

2

我假设你正在使用从hereJSONfunctions类或它的修改版本(如您收到一个JSONObject而不是JSONArray)。

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

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

谢谢。这让我对过去几个小时感到困惑 – 2013-02-18 23:13:43

相关问题