【问题标题】:Why Is JSON request returning as XML?为什么 JSON 请求以 XML 形式返回?
【发布时间】:2013-02-18 21:33:08
【问题描述】:

我是 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;
                        }

【问题讨论】:

  • 你知道只解析 JSON 部分的方法吗?
  • 对不起,我错了,它看起来只是返回一个 json 字符串,我的错误

标签: android xml json parsing jsonexception


【解决方案1】:

我假设您正在使用来自 hereJSONfunctions 类或其修改版本(因为您收到的是 JSONObject 而不是 JSONArray)。

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

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

【讨论】:

  • 谢谢。这让我在过去的几个小时里感到困惑
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
  • 2018-11-03
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
相关资源
最近更新 更多