Java:如何从脚本标记中获取JSON值?

时间:2016-05-11 16:09:39

标签: java json

我的目标是从网页的脚本标记中获取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的值

1 个答案:

答案 0 :(得分:-1)

除了使用子字符串之外,您还可以考虑使用像http://www.antlr.org/

这样的工具来解析javascript(它是javascript而不是json)