哪个对象在JavaScript中具有“ {name = value}”的字符串表示形式?

时间:2019-04-24 00:25:46

标签: javascript nashorn

我在JDK Nashorn引擎内部收到了一个复杂的JavaScript value,必须与之交互。该值将以{shown=true}的形式显示在控制台上。当我说typeof value时,我收到object作为答案。我说Object.keys(value);时会收到TypeError: {shown=true} is not an Object in ...。乳清,我说value.shownvalue["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}
 ^ 

1 个答案:

答案 0 :(得分:0)

假设您得到的是Java对象,则应该能够调用value.getClass()以获得其Java类。

从其字符串表示形式来看,它可能是java.util.HashMap或类似的实例。如果是这样,您应该能够通过value.get("shown")访问“显示”属性的值。