2015-11-05 74 views
1

我正在使用DuckDuckGo Api,它在解析json时有时会出现该错误,我找不到原因。这里是代码我使用:JSONObject文本必须以java中1 [character 2 line 1]处的'{'开头

private String getUrls(String urlapi) throws IOException, JSONException { 
      InputStream in = null; 
      in = connectTo(urlapi); 
      String result = requestResponseAsString(in); 
      String fullResult = parseJSON(result); 
      return fullResult; 

     } 

     private String parseJSON(String result) throws JSONException { 
      String url = null; 
      JSONObject jObject = new JSONObject(result); 
      JSONArray arr = jObject.getJSONArray("Results"); 
      if(arr.length()>0){ 
       url = arr.getJSONObject(0).getString("FirstURL"); 
       System.out.println(url);} 
      return url; 
     } 
+0

已经看过了? http://stackoverflow.com/questions/19399135/a-jsonobject-text-must-begin-with-error –

+0

是的,我证实我没有犯同样的错误,因为我总是得到这个:“结果” : { “结果”: “Official site”, “图标”:{ “URL”: “https://duckduckgo.com/i/paris.fr.ico”, “高度”:16, “宽度”:16 }, “FirstURL”: “http://www.paris.fr”, “文本”: “官方站点” } ]作为数组和 “FirstURL”:“HTTP: //www.paris.fr“作为对象 – user200099

回答

0

A JSONObject text must begin with '{' error

JSON对象遵循以下结构:

{ 
"array": [ 
{ 
    color: "red", 
    value: "#f00" 
}, 
{ 
    color: "green", 
    value: "#0f0" 
} 
] 
} 

JSON数组按照FOLL欠结构:

[ 
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName": "Jones" } 
] 
+1

。一个空数组必须是这样的:[{}]? – user200099

+1

自己尝试:https://jsonformatter.curiousconcept.com/ –

+0

空数组是[],[{}]是指有一个空对象的数组。 – jpaljasma

相关问题