使用jsoup解析脚本(JSON数据)

时间:2014-03-31 02:15:51

标签: java android html parsing jsoup

我有一个看起来像这样的HTML代码。

<div>
   <script id='jsonData' type="text/x-jquery-tmpl">
      [{"legs":"departureAirport":{"airportID":4934980,"airportCity":"Bangkok","airportCode":"DMK","airportName":"Bangkok (DMK)","airportCityState":"Bangkok"}}]
   </script>

我想使用JSoup解析此HTML并获取此html中的JSON值。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用:

String htmlStr = "<div><script id='jsonData' type=\"text/x-jquery-tmpl\">[{\"legs\":\"departureAirport\":{\"airportID\":4934980,\"airportCity\":\"Bangkok\",\"airportCode\":\"DMK\",\"airportName\":\"Bangkok (DMK)\",\"airportCityState\":\"Bangkok\"}}]"
                + "</script></div>";

Document doc = Jsoup.parse(htmlStr);     
Element el = doc.getElementById("jsonData");

String jsonStr = el.html();

基本上,您从脚本节点获取原始内部html。请注意,您可能仍需要解析JSON数据。有几个库可以做到这一点,但JSoup不是其中之一。