以下回复的格式?

时间:2011-10-03 10:24:35

标签: java json format

我正在使用Bing的自动推荐功能自动建议我给出查询的条款。你可以在这里找到这个工具:http://api.bing.com/osjson.aspx?query=pe,因为你可以看到它返回一个不完全是JSON的奇怪格式。这是一个与JSON不同的特定标准吗?我试图使用...

将其解析为JSON
        InputStream i = new URL(url).openStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(i, Charset.forName("UTF-8")));
    JSONObject json = new JSONObject(readAll(reader));

但我收到错误A JSONObject text must begin with '{' found:" at 2 [character 3 line 1]

readAll =

      private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
          sb.append((char) cp);
        }
        return sb.toString();
      }

2 个答案:

答案 0 :(得分:2)

您的示例是有效的JSON:

["pe",["people","people search","petsmart","petco","petfinder","pep boys","people finder","people of walmart"]]

它不是对象,它是数组,它包含第一个位置的字符串和第二个位置的另一个数组。因此,请尝试解析为JSONArray,而不是JSONObject

答案 1 :(得分:0)

JSON对象以{开头,以}结尾,JSONObject类旨在解析。 JSON数组以[开头,以]结尾,JSONArray类旨在解析。

我希望这会有所帮助。