如何在Android中使用Jsoup从HTML获取脚本

时间:2018-07-27 17:05:44

标签: android jsoup

我想使用jsoup从html中的以下脚本标记中获取“用于慢炖锅食谱的哈希棕色砂锅”和“ PT20M”。我看了this,但没有明确的解决方案。任何指导表示赞赏。

<script id="ld" type="application/ld+json">{"@context": "http://schema.org/","@type": "Recipe","name": "Hash Brown Casserole for the Slow Cooker Recipe","prepTime":"PT20M"</script>

1 个答案:

答案 0 :(得分:0)

请参阅脚本中的ID。您可以按ID来获取元素,并且有一个孩子。那么您可以将此子对象转换为json对象。以下是示例:

Document doc = Jsoup.parse("<script id=\"ld\" type=\"application/ld+json\">{\"@context\": \"http://schema.org/\",\"@type\": \"Recipe\",\"name\": \"Hash Brown Casserole for the Slow Cooker Recipe\",\"prepTime\":\"PT20M\"}</script>");
        String str = doc.getElementById("ld").childNodes().get(0).toString();
        JSONObject jsonObject = new JSONObject(str);
        System.out.println(jsonObject.getString("name"));
        System.out.println(jsonObject.getString("prepTime"));

**您的脚本包含: {"@context": "http://schema.org/","@type": "Recipe","name": "Hash Brown Casserole for the Slow Cooker Recipe","prepTime":"PT20M"

如果}之后没有PT20M,则需要连接}

String str = doc.getElementById("ld").childNodes().get(0).toString()+"}";