java - Rhino:如何从 ScriptableObject 获取所有属性?

标签 java javascript properties rhino scriptable

我正在使用 Javascript 对象作为具有配置属性的对象。 例如。我在 javascript 中有这个对象:

var myProps = {prop1: 'prop1', prop2: 'prop2', 'prop3': 'prop3'};

这个对象 (NativeObject) 在 Java 函数中返回给我。 例如

public Static void jsStaticFunction_test(NativeObject obj) {
    //work with object here
}

我想从对象中获取所有属性并从中构建 HashMap。

我们将不胜感激。

最佳答案

所以,我解决了我的问题:)

代码:

public static void jsStaticFunction_test(NativeObject obj) {
    HashMap<String, String> mapParams = new HashMap<String, String>();

    if(obj != null) {
        Object[] propIds = NativeObject.getPropertyIds(obj);
        for(Object propId: propIds) {
            String key = propId.toString();
            String value = NativeObject.getProperty(obj, key).toString();
            mapParams.put(key, value);
        }
    }
    //work with mapParams next..
}

关于java - Rhino:如何从 ScriptableObject 获取所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559450/

相关文章:

c#-3.0 - C#3.0 自动属性,为什么不直接访问字段呢?

java - 在静态上下文中使用泛型类型

java - JAVA计数字母程序中计数错误

javascript - 迭代对象数组 Angular 2 组件

javascript - CasperJS 中的 Express app.get() 等效项

java - 即时刷新数据库配置

java - FileNotFoundException(权限被拒绝)

java - 优化的 string.endsWith() 工作方式。

javascript - JavaScript 中有没有一种方法可以获取当前定义的所有局部变量的列表?

java - 使用 Java 中的属性的用户配置文件