我在JDK Nashorn引擎内部收到了一个复杂的JavaScript value
,必须与之交互。该值将以{shown=true}
的形式显示在控制台上。当我说typeof value
时,我收到object
作为答案。我说Object.keys(value);
时会收到TypeError: {shown=true} is not an Object in ...
。乳清,我说value.shown
或value["shown"]
我总是收到null
。
此神秘对象是什么类型的,如何正确访问“显示”属性的值?
不幸的是,创建一个简单的示例并不容易,我无法进行交互调试...非常感谢您的帮助!
编辑: JDK是JavaSE-1.8。
呼叫JSON.parse(value);
会导致
javax.script.ScriptException: SyntaxError: Invalid JSON: <json>:1:1 Expected , or } but found s
{shown=true}
^
答案 0 :(得分:0)
假设您得到的是Java对象,则应该能够调用value.getClass()
以获得其Java类。
从其字符串表示形式来看,它可能是java.util.HashMap或类似的实例。如果是这样,您应该能够通过value.get("shown")
访问“显示”属性的值。