2016-05-11 32 views
0

我的代码在我的Android项目从休息api下载json字符串,但url内下载的字符串是无效的,它变得像这样: 在某些原因URL纠正它是自己在stackoverflow站点 但我的意思是破折号变成这样在日志猫:(https:// www。example.com 这是从日志猫的截图: url screenshot from logcat 有人可以帮我解决这个问题, 谢谢提前JSON字符串内的网址是无效的,我从java下载它从休息api后:它像“https://

这是我的代码,我写的API获取JSON:

public class LoadThread extends Thread { 

private PakageParams pakage = new PakageParams() ; 

private void preparePakage(){ 
    pakage.setUri("https://example/api/v2.1/search?"); 
    pakage.setMethod("GET"); 
    pakage.setParams("lat","25.800693"); 
    pakage.setParams("lon", "55.976199"); 
} 

public void run() { 


    if(!isInterrupted()){ 

     String json = loadData(); 
     if(json != null){ 
      EventBus.getDefault().post(new OnjsonLoaded(json)); 
     } else { 
      EventBus.getDefault().post(new OnjsonLoaded("caanot load json")); 
     } 

    } 


} 

private String loadData(){ 
    preparePakage(); 
    String uri = pakage.getUri(); 
    uri += pakage.getEncodedParams(); 
    BufferedReader reader = null ; 
    HttpURLConnection conn = null ; 
    try { 
     URL url = new URL(uri); 
     conn = (HttpURLConnection) url.openConnection(); 
     conn.setRequestMethod("GET"); 
     conn.setRequestProperty("Content-Type", "application/json"); 
     conn.setRequestProperty("user-key",API_KEY_STRING); 

     reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
     StringBuilder sb = new StringBuilder(); 
     String line = null ; 
     while((line = reader.readLine())!= null){ 
      sb.append(line); 
     } 
     return sb.toString(); 

    } catch (MalformedURLException e){ 
     return null ; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     if(reader !=null){ 
      try { 
       reader.close(); 
       conn.disconnect(); 
      } catch (IOException e1) { 
       e1.printStackTrace(); 
       return e1.getMessage() ; 
      } 
     } 
     return e.getMessage() ; 
    } 


} 

}

+0

在Log cat中URL将以这种方式打印,但是如果您打网络电话,它应该可以正常工作 – Haroon

+0

http://stackoverflow.com/questions/1580647/json-why-are-forward -slashes转义 – laalto

回答

0

不用担心它会正常工作时,你会调用它。 (Y)