Files
kaka111222333-kaka111222333…/_posts/2015-02-22-javajs.md
2019-11-17 01:12:14 +08:00

48 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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)