从大字符串中获取特定文本

时间:2014-04-06 20:04:16

标签: java string api

我正在调用API并获取大量文本(大多数情况下会有数千个单词)。

我想做的就是获取thumbnail_url。

以下是一个示例:

  "thumbnail_url": "http://ecx.images-amazon.com/images/I/4171SQ7VC4L.jpg", "type": "rich", "thumbnail_height": 379

所以我想要的只是http://ecx.images-amazon.com/images/I/4171SQ7VC4L.jpg来自这个例子。有什么想法吗?

编辑 - thumnail_url位于大块文本的中间位置,因此我需要搜索“thumbnail_url”或其他内容,对吗?

2 个答案:

答案 0 :(得分:2)

你可以做的是使用外部JSON库,如GSON - 我认为谷歌或This这也很好

以这种方式使用它:

JSONObject json = (JSONObject)new JSONParser().parse(yourString);
System.out.println("url=" + json.get("thumbnail_url"));

答案 1 :(得分:0)

Unclever用RegExp回答:

Pattern p = Pattern.compile("\"thumbnail_url\": \"([^\"]*)\"");
Matcher m = p.matcher(yourBigString);

List<String> urls = new ArrayList<String>();
while (m.find()) {
    urls.add(m.group());
}