通过url阅读json

时间:2015-05-06 08:33:19

标签: java json

我正在尝试通过网址阅读json。这是我的努力:

 public String getContentByUrl(String url) throws IOException, JSONException {

        JSONObject json = new JSONObject(IOUtils.toString(new URL(url), Charset.forName("UTF-8")));
        return json.toString();
    }

抛出

  

JSONObject文本必须以2 [字符3第1行]

处的'{'开头

我也试过JSONPObject,但它没有这样的构造函数。怎么办?

1 个答案:

答案 0 :(得分:1)

根据我的知识和JSON API,您只需使用JSONObject尝试一个String构造函数。

在API中,它表示String来源必须是:

  

以{(左括号)开头并以}结尾的字符串(右   大括号)。

因此,典型的用例是请求页面内容并通过构造函数将结果解析为JSONObject,而不是传递完整的URL。已经在stackoverflow上的几篇帖子中描述了这一点(例如Get a JSON object from a HTTP response

编辑:

我猜http://jsonformatter.curiousconcept.com/接受您网址的内容为合法JSON,因为它将括号([ ])识别为JSONArray

如果您将“JSON”放入http://jsonlint.com/,例如它就会显示为什么它不能成为JSONObject