자바에서 제공하는 nashorn 스크립트 엔진을 이용해서 엔진 바깥에서 JSON 문자열을 해석하고, 구해진 객체를 다시 엔진에 할당하는 코드를 구현해 본다.
ScriptEngineManager engineManager = new ScriptEngineManager();
ScriptEngine engine = engineManager.getEngineByName("nashorn");
// parse JSON
ScriptObjectMirror json = (ScriptObjectMirror)engine.eval("JSON");
String data = "{\"name\":\"ZCUBE\"}";
ScriptObjectMirror parsed = (ScriptObjectMirror)json.callMember("parse", data);
// binding
engine.put("spec", parsed);
// run test code
String script = "print('Hello ' + spec.name)";
engine.eval(script);
nashorn 스크립트 엔진의 "JSON"객체를 가져와서 "parse" 함수를 이용하면 쉽게 엔진과 호환되는 JSON객체를 구할 수 있다. 이 객체를 엔진에 바인딩 하면 된다.
출력 결과는 당연히 "Hello ZCUBE"
'Trouble Shooting' 카테고리의 다른 글
파이썬, Django(장고) index.html등 static 파일등 설정하기 (0) | 2018.06.03 |
---|---|
안드로이드 새모듈 생성, 빌드시 오류 (0) | 2018.05.08 |
Android Studio 3.1, 데이터바인딩 오류 (0) | 2018.04.02 |
자바스크립트, 싱글톤(Singleton) 객체 만들기 (0) | 2018.03.24 |
자바스크립트(ES6)에서 var, let의 차이 그리고 클래스 상수멤버 선언 (0) | 2018.03.06 |