簡體   English   中英

將JSON數據從JavaScript傳遞到Java

[英]Passing json data from javascript to Java

我正在嘗試將json數據從JavaScript傳遞到Java,如下所示。 想法是將數據作為javascript對象傳遞給Java代碼(而不是我知道可以做到的字符串)。 我嘗試了下面的代碼,但沒有成功-想法是使用NativeJson.stringify從javascript對象轉換為Java字符串,但是這會導致未定義的實例,而不是預期的字符串。 任何對此的想法都可以實現。

在javascript文件“ test.js”中

parser.fct ( {"abc":123,"def":456} )

在java中

//1.binds javascript calls to Java
...
ScriptEngine engine = new ScriptEngine...
Bindings bindings = engine.createBindings();
bindings.put("parser", new Parser());
engine.eval("test.js");

//2. in Parser class
public void fct(Object obj){
   Context ctx = Context.enter();
   ScriptableObject scope = ctx.initStandardObjects();
   Object json = NativeJSON.stringify(ctx, scope, obj, null,null);

   //json returned is of type Undefined

}

找不到使用NativeJSON.stringify()的方法。 我最終“手動”構建了json字符串,即迭代本機javascript對象的屬性ID,並將這些屬性添加到Java Map中。

然后使用新的JSONObject(map)將Map轉換為json對象;

鏈接到源代碼https://gist.github.com/eleco/c2bc77dca9ecc844a924

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM