繁体   English   中英

如何在Ruby 1.9中将​​哈希转换为JSON字符串?

[英]How do I convert a Hash to a JSON string in Ruby 1.9?

ruby-1.9.2-p0 > require 'json'
 => true 
ruby-1.9.2-p0 > hash = {hi: "sup", yo: "hey"}
 => {:hi=>"sup", :yo=>"hey"} 
ruby-1.9.2-p0 > hash.to_json
 => "{\"hi\":\"sup\",\"yo\":\"hey\"}"
ruby-1.9.2-p0 > j hash
{"hi":"sup","yo":"hey"}
 => nil 

j hash提出我想要的答案,但返回nil

hash.to_json使用反斜杠返回我想要的答案。 我不想要反斜杠。

这只是因为String#inspect 没有反斜杠。 尝试:

hjs = hash.to_json
puts hjs

你走在正确的轨道上。 to_json将其转换为JSON格式。 不要让IRB输出欺骗你 - 它不包含任何反斜杠。

试试这个: puts hash.to_json ,你应该看到: {"hi":"sup","yo":"hey"}

我没有测试Ruby1.9,但显然你正在获得“检查”视图。 那些反斜杠不在那里,他们只是逃避报价。 运行puts hash.to_json来检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM