ruby 中文字符to_json后乱码(unicode)

  今天遇到一个中文to_json问题json

text = "第1章 青豆 不要被外表骗了"
text.to_json
=> "\"\\u7b2c1\\u7ae0 \\u9752\\u8c46 \\u4e0d\\u8981\\u88ab\\u5916\\u8868\\u9a97\\u4e86\""

中文to_json 就变成unicodespa

 

解决办法:code

gsub(/\\u([0-9a-z]{4})/){|s| [$1.to_i(16)].pack("U")}blog

text.to_json.gsub(/\\u([0-9a-z]{4})/){|s| [$1.to_i(16)].pack("U")}
=> "\"第1章 青豆 不要被外表骗了\""
相关文章
相关标签/搜索