JSON.parse在eclipse插件开发项目中不起作用

时间:2017-09-17 21:58:14

标签: javascript json eclipse eclipse-plugin

我正在使用浏览器组件开发一个eclipse插件。我正在使用 BrowserFunction 向JS方面公开一些方法。

我的html如下所示,

<html>
<head>
<script type="text/javascript">
function sayHello() {
    alert("Hello from eclipse plugin javascript !!! ");
};

function alertJson() {
    alert('going to print json');
    alert(JSON.parse('{"apple": 5}'));
};
</script>
</head>

<body>
<h1>testing</h1>
<button onclick="sayHello();">Click Me</button>
<button onclick="alertJson();">Print JSON</button>
</body>

</html>

但只有第一个警报会按预期弹出。第二个没有出现。

任何想法为什么以上不起作用?

注意:我的目的是从JS端调用Java端函数(BrowserFunction,它使用gson返回一个json字符串),并将返回的json字符串转换回json对象,以便我可以操作它。

2 个答案:

答案 0 :(得分:0)

function alertJson() {
    alert('going to print json');
    alert(JSON.parse('{"apple": 5}'));
};

如果您正在使用[对象] [对象]获得第二个警报。你的代码非常好。 “[object] [object]”表示类型为object的值,而不是string。正如预期的那样,JSON.parse将您的字符串“{”apple“:5}”转换为一个对象。如果你想检查你的函数返回什么,你可以做一个console.log(JSON.parse('{“apple”:5}'))并检查开发人员工具中的输出,在你的浏览器上点击F12。

答案 1 :(得分:0)

这是一个浏览器问题。 解决菜单中的更改Web浏览器设置

  

窗口&gt; Web浏览器&gt; Internet Explorer

您可以选择任何其他网络浏览器,例如firefox,chrome [ie]等。相同的代码无需任何修改即可使用。