1
我想将Psych生成的AST转储到JSON。我怎样才能做到这一点?将Psych的AST转换为JSON
gem 'psych'
require 'psych'
require 'json'
ast = Psych.parse_stream("me: 1");
p ast
ast.to_json
不给我JSON树。
我想将Psych生成的AST转储到JSON。我怎样才能做到这一点?将Psych的AST转换为JSON
gem 'psych'
require 'psych'
require 'json'
ast = Psych.parse_stream("me: 1");
p ast
ast.to_json
不给我JSON树。
你不想直接将AST转换为JSON。您首先将其转换为一个to_ruby
的Ruby对象图。您的代码工作,如果改变了,像这样:
gem 'psych'
require 'psych'
require 'json'
ast = Psych.parse_stream("me: 1");
p ast.to_ruby[0].to_json
这将返回'{“me”:“1”}'。我正在寻找AST。不是解析的对象 – Mohsen 2014-10-03 20:50:41
http://docs.ruby-lang.org/en/2.1.0/Psych.html,有一个'to_json'方法多数民众赞成在工作创造一个'精极度紧张::访客:: JSONTree'对象。我想你需要以某种方式构建一个'JSONTree'对象。或者,如果'to_json'立即可用,您可以尝试。 – akostadinov 2015-07-06 13:45:17