--- layout: post title: Java中用js解析json tags: ScriptEngineManager Java javascript categories: java published: java --- 在java中如何解析json?fastjson?jackson?那未免太无趣了 其实我们可以试试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 result = (Map)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)