如何从 Android 中的 org.mozilla.NativeArray 获取值?

我使用 ScriptEngine 和 rhino 作为引擎名称来评估 Android 中的 javascript。我评估的 javascript 代码如下所示:

var course_data = [];
course_data[0] = [];
course_data[0]['course_name'] = 'Programming 101';course_data[0]['course_code'] = 'XXX12345';course_data[0]['course_credit'] = '2';
course_data[1]['course_name'] = 'Next Level Programming';course_data[0]['course_code'] = 'XXX12356';course_data[0]['course_credit'] = '3';

ScriptEngine get("course_data") 方法返回 org.mozilla.NativeArray 对象。我无法使用 org.jdk.Nashorn.api.scripting。ScriptObjectMirror,因为 NativeArray 无法转换为 ScriptObjectMirror。

如何从这个 NativeArray 对象中获取每个 course_data 课程名称、代码和学分值?

非常感谢。

wanghuialex163 回答:如何从 Android 中的 org.mozilla.NativeArray 获取值?

我使用 ScriptableObject 来获取主 NativeArray 中的每个 NativeArray。

ScriptableObject data = (ScriptableObject) engine.get("course_data ");
for(int j=0;j<data.size();j++){
    NativeArray courseArray = (NativeArray) data.get(j);
    String courseName= courseArray .get("course_name").toString();
    String courseCode= courseArray .get("course_code").toString();
    int courseCredit= Integer.parseInt(courseArray .get("course_credit").toString());
    System.out.println(courseName+" "+courseCode+" "+courseCredit);
}
本文链接:https://www.f2er.com/366500.html

大家都在问