JSON解析不使用Volley在Android中使用下划线编码字符串

时间:2014-10-25 12:45:32

标签: android json android-volley

我正在尝试编码一个包含URL的字符串,我有一个奇怪的问题,其中没有返回完整的字符串,我注意到它可能与下划线有关,我已经尝试了一些解决方案,我替换下划线,但没有太多运气与该解决方案。下面是JSON。

[{"id":"1","source":"BBC WORLD NEWS",
"time_date":"Sat, 25 Oct 2014 10:49:13",
"title":"Iran hangs woman despite campaign","description":"Iran defies an international campaign and hangs a woman who killed a man she said was trying to sexually abuse her.",
"link":"http:\/\/www.bbc.co.uk\/news\/world-middle-east-29769468#sa-ns_mchannel=rss&ns_source=PublicRSS20-sa",
"image":"http:\/\/news.bbcimg.co.uk\/media\/images\/78529000\/jpg\/_78529517_78528720.jpg"},

我正在尝试从json中检索图像元素。以下是我从解析中收到的内容。

http://news.bbcimg.co.uk/media/images/78526000/jpg

我现在正在使用此代码:

String imageurl = feed.getImage();
try {
    imageurl = URLDecoder.decode(imageurl, "UTF-8");
    System.out.println("---------------------------"+imageurl);
    imageurl.replace("_", "%5f");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

getimage方法:

private String image;

public String getImage() {
    return image;
}

private void requestNewsData(String uri) {
    RestAdapter api = new RestAdapter.Builder().setEndpoint(ENDPOINT).build();
    NewsAPI restapi = api.create(NewsAPI.class);
    restapi.news(new Callback<List<RssObject>>() {

    public void success(final List<RssObject> newsFeed, Response response) {
        Log.v("nas", "the webservice success " + response.getReason());
        for (int i = 0; i < newsFeed.size(); i++) {
            System.out.println(newsFeed.get(i).description);
            newsList.add(newsFeed.get(i).description);
            FeederModel feed = new FeederModel();
            feed.setSource(newsFeed.get(i).source);
            feed.setImage(newsFeed.get(i).image);    // adding setimage 
        }
    }

检索到的字符串缺少网址的最后部分。

任何建议都将不胜感激。感谢。

0 个答案:

没有答案