色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 執行js解析json

錢琪琛2年前9瀏覽0評論

Java作為一門高度應用廣泛的編程語言,不僅能夠執行各種本地操作,而且也可以完成各種Web相關任務。在Web任務中,JavaScript(JS)常常用來實現前端的功能,JSON也常常被用來存儲Web應用中的數據。當Java執行Web應用的任務時,有時需要解析JS腳本中的JSON對象,從而能夠處理相應的數據。

在Java中使用JS解析JSON主要有兩種方法:使用Rhino和使用ScriptEngine。Rhino是一個用Java編寫的JS引擎,使用Rhino來解析JSON需要引入相關的jar庫,在執行時需要獲取JS腳本中的JSON對象。而使用ScriptEngine則更加方便,使用JDK自帶的JavaScript引擎即可,能夠直接將JS腳本中的JSON對象轉化為Java中的JSONObject類型。

//使用Rhino解析JSON示例代碼
String jsonStr = "{name: 'Tom', age: 18}";
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("javascript");
se.eval("var json = " + jsonStr + ";");// 執行JS腳本將json定義為jsonStr語句
NativeObject no = (NativeObject) se.get("json");// 獲取json對象,類型為Rhino中附帶的NativeObject
String name = no.get("name").toString();// 獲取變量名name對應的值
int age = Integer.parseInt(no.get("age").toString());// 獲取變量名age對應的值
//使用ScriptEngine解析JSON示例代碼
String jsonStr = "{name: 'Tom', age: 18}";
JSONObject jsonObject = new JSONObject(jsonStr);// 直接將JSON字符串轉為JSONObject類型
String name = jsonObject.getString("name");// 獲取變量名name對應的值
int age = jsonObject.getInt("age");// 獲取變量名age對應的值

以上兩種方法都可以解析JS腳本中的JSON對象,并獲取其中的數據。根據實際需求,可以選擇使用哪種方式,但一般來說使用ScriptEngine更為便捷。