java 嵌入js线程异步调用和验证字符串是否json格式
来源:互联网 发布:安装centos要下载哪些 编辑:程序博客网 时间:2024/06/03 01:42
/**
* 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嵌入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();
}
0 0
- java 嵌入js线程异步调用和验证字符串是否json格式
- java异步验证且json字符串传递
- PHP正则验证目标字符串是否为JSON格式。
- js java,验证字符串是否为数字
- java 验证邮箱格式正确性、验证字符串是否为数字
- java 验证邮箱格式正确性、验证字符串是否为数字
- js字符串和json格式互相转化
- java格式json和js格式json互转
- java判断一个字符串是否是json格式
- java判断一个字符串是否是json格式
- js字符串转json格式
- js 字符串转成json格式
- 如何识别一个字符串是否Json格式
- 判断字符串是否是json格式
- 如何识别一个字符串是否Json格式
- js中利用jquery parseJSON来判断字符串string是否是json格式
- JS验证日期格式是否正确
- js 验证日期格式是否正确
- web.xml配置详解
- csu 1321 CX and girls 最短路 解题报告
- 简单工厂 Simple Factory Pattern
- RabbitMQ java Topics主题
- something
- java 嵌入js线程异步调用和验证字符串是否json格式
- HTML中id、name、class 区别
- Cloudera Manager无法获取统计信息
- Rails的[include,prepend,extend,<]的一些个人理解
- 关于Servlet中前后台交互中文乱码问题的解决
- jquery load 的高级应用
- cache与TLB
- mybatis foreach嵌套、根据索引获取集合数据
- #92 Backpack