开发者

Format of the following response?

开发者 https://www.devze.com 2023-04-10 10:52 出处:网络
I\'m using Bing\'s auto suggest feature to auto suggest me terms given a query. You can find the tool here: http://api.bing.com/osjson.aspx?query=pe as you can see it\'s returning a strange format tha

I'm using Bing's auto suggest feature to auto suggest me terms given a query. You can find the tool here: http://api.bing.com/osjson.aspx?query=pe as you can see it's returning a strange format that isn't quite JSON. Is this a开发者_如何转开发 specific standard different to JSON? I've attempted parsing it as JSON using...

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

but I get the error 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();
      }


Your example is valid JSON:

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

It is not object, it is array, which contains string at the first position and another array at the second. So try parse as JSONArray, not as JSONObject.


A JSON Object starts with a { and ends with a }, which a JSONObject class was designed to parse. A JSON Array starts with a [ and ends with a ], which a JSONArray class was designed to parse.

I hope this helps.

0

精彩评论

暂无评论...
验证码 换一张
取 消