创建博客

This commit is contained in:
lemonchann
2019-11-17 01:12:14 +08:00
commit 6f0c102626
133 changed files with 20640 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
---
layout: post
title: Java中用js解析json
tags: ScriptEngineManager Java javascript
categories: java
published: java
---
在java中如何解析jsonfastjsonjackson那未免太无趣了
其实我们可以试试ScriptEngine
~~~java
public class NashornTest {
private static String json = "[{name:'A',age:'18'},{name:'B',age:'19'},{name:'C',age:'30'}]";
private static String script =
"function parse(json){" +
" var names = new Array();" +
" for(var i in json){" +
" names.push(json[i].name);" +
" }" +
" return names;" +
"};" +
"parse(" + json + ");";
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName( "JavaScript" );
Map<String,String> result = (Map<String,String>)engine.eval(script);
result.forEach((k,v) -> System.out.println(v));
}
}
~~~
输出:
A
B
C
> 代码中使用了 [lambda](http://blog.rainynight.top/2014-12-13/java-newfeature/# lambda)