将Psych的AST转换为JSON

时间:2014-10-03 19:53:53

标签: ruby psych

我想将Psych生成的AST转储给JSON。我怎么能这样做?

gem 'psych'
require 'psych'
require 'json'

ast = Psych.parse_stream("me: 1");

p ast

ast.to_json没有给我JSON树。

1 个答案:

答案 0 :(得分:-1)

您不希望直接将AST转换为JSON。您首先要将其转换为to_ruby的Ruby对象图。如果像下面那样改变了你的代码:

gem 'psych'
require 'psych'
require 'json'

ast = Psych.parse_stream("me: 1");

p ast.to_ruby[0].to_json