/** * java嵌入js验证字符串是否json格式 * 注:如果是json的话eval中要加"("和")"花括号,否则不能识别json出现异常 * 异常:javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: missing ; before statement (<Unknown source>#1) in <Unknown source> at line number 1 * @param jsonStr * @return */ public static boolean isJson(String jsonStr){ boolean isFalg = true; try{ Object object = (Object)new ScriptEngineManager().getEngineByName("js").eval("("+jsonStr+")"); System.out.println(GsonUtil.transObjectToJson(object)); }catch (ScriptException e){ isFalg = false; System.out.println ("json格式有误"); e.printStackTrace(); } return isFalg; } /** * java嵌入js使用线程异步调用 * 注意:print打印时要带双引号转义,否则会出现异常 * 异常:javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "异步调用" is not defined. */ public static void jsRunnable(){ ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine se = sem.getEngineByName("js"); try { se.eval("function run(){print(\"异步调用\");}"); Invocable invokeEngine = (Invocable)se; Runnable runner = invokeEngine.getInterface(Runnable.class); Thread t = new Thread(runner); t.start(); t.join(); } catch (Exception e) { e.printStackTrace(); } } /** * 测试用例 * @param args */ public static void main(String[] args) { // java嵌入js验证字符串是否json格式 String s = "{\"name\":\"1\"}"; System.out.println(isJson(s)); // java嵌入js使用线程异步调用 jsRunnable(); }
-
Java
3201 引用 • 8217 回帖
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
-
JavaScript
730 引用 • 1282 回帖 • 1 关注
JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。
-
线程
123 引用 • 111 回帖 • 3 关注
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于