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

标签 java javascript

在我当前的项目中,我必须从网络上读取一个 JavaScript 文件并从中提取一个对象。该变量可能会不时变化,因此我必须读取它而不是将其硬编码到我的 Android 应用程序中。

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

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

我对此有疑问。我是否必须实现一些类似编译器的扫描器来查找名称并获取其值,或者我可以使用一些现有工具?

JavaScript 文件并不像这个例子那么简单。它包含许多其他代码。所以一个简单的 new JSONObject() 或其他东西是行不通的。

最佳答案

Java 中有很多库来解析 JSON。 JSON.org 上有一份 list

用Java读取文件

import org.json.JSONObject;

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

关于java - 如何在 Java 中获取 Javascript 变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232803/

相关文章:

""的 Java Scanner.useDelimiter() 问题

javascript - 使用应用程序名称和命名空间在 django 模板 url 中动态添加 js 变量值

javascript - 在 reactjs 中使用 HTMLAudioElement 创建简单的播放器

javascript - 检查是否在客户端的一组复选框中选中了一个复选框

java - 为并发操作关闭 JMX 连接

java - 使用初始化 block 有什么好处?

java - 如何获取 sun.misc.BASE64Encoder 类的 JAR 文件?

java - n-顶点子图枚举的时间复杂度

javascript - 从任何地方在 Windows 命令中执行单个 Node.js 文件

javascript - 您如何使用 CSS3 或 JavaScript(文本溢出、 chop 等)裁剪多个 HTML 段落标记以适合大小明确的框?