如何在Java中获取Javascript变量值?

在我当前的项目中,我必须从Web读取一个
JavaScript文件并从中提取一个对象.变量可能会不时变化,所以我必须阅读它而不是硬编码到我的Android应用程序中.

假设我想提取以下变量(并在此之后使用JSONObject解析字符串,这很简单):

var abc.xyz = {
"a": {"one", "two", "three"},
"b": {"four", "five"}
}

我有这个问题.我是否必须实现一些类似编译器的扫描程序才能查找名称并获取其值,或者我可以使用一些现有工具?

JavaScript文件并不像这个例子那么简单.它包含很多其他代码.所以一个简单的新JSONObject()或其他东西不会.

最佳答案 Java中有许多库来解析JSON.
JSON.org上有一个清单

用Java读取文件

import org.json.JSONObject;

URL url = new URL("http://example.com/foo.js");
InputStream urlInputStream = url.openStream();
JSONObject json = new JSONObject(urlInputStream.toString());  
点赞