我的目标是从网页的脚本标记中获取JSON值。棘手的部分是javaScript标记包含许多函数以及JSON数组。我能够通过jsoup以字符串格式转换整个脚本,但我不确定如何获取JSON变量的值。
这是我的Java代码
Jsoup.connect("http://www.example.com/").timeout(1000).get();
Elements scriptElements = doc.getElementsByTag("script");
for (Element element :scriptElements ){
for (DataNode node : element.dataNodes()) {
System.out.println(node.getWholeData());
}
}`
脚本标记
<script type="text/javascript"> x.y = x.y ||{}; if(typeof x.y.z==='hello'){
x.y={name:'myName'||'', id:'123', a:function(app,eve,json),1);}}, b:function()....}}</script>
这里我想获取name和id的值
答案 0 :(得分:-1)
除了使用子字符串之外,您还可以考虑使用像http://www.antlr.org/
这样的工具来解析javascript(它是javascript而不是json)