2014-03-31 55 views
0

我有一个看起来像这样的HTML代码。用jsoup解析脚本(JSON数据)

<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

您可以使用此:

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不是其中之一。