我如何保持“&”在我解析Ruby中的JSON时,在一个字符串中?

时间:2015-07-23 08:18:46

标签: ruby json encoding

我找不到一个简单的答案,所以我转向Stack Overflow。

我有一个名为“flavor.json”的JSON文件,如下所示:

{"flavor" : "Cookies & Cream"}

在ruby中,我想创建一个名为“ice_cream_flavor.json”的新JSON文件,如下所示:

{"ice cream flavor" : "Cookies & Cream"}

这是我的代码......

json = JSON.parse(File.read("flavor.json"))
new_json = {"ice cream flavor" => json["flavor"]}
File.write("ice_cream_flavor.json", new_json.to_json)

但是,新创建的ice_cream_flavor.json文件如下所示:

{"ice cream flavor" : "Cookies \u0026 Cream"}

问题:
我不想要\。我想要&amp ;.我该怎么做?

1 个答案:

答案 0 :(得分:0)

我不知道你做错了什么,但我尝试了它并且工作得很好,好吧,让我们说你的文件flavor.json位于路径:C:\flavor.json

这就是我所做的(只是你的代码),我添加了require方法来加载Json类。

require 'rubygems'
require 'json'
json = JSON.parse(File.read("C:\\flavor.json"))
new_json = {"ice cream flavor" => json["flavor"]}
File.write("C:\\ice_cream_flavor.json", new_json.to_json)

结果就像你想要的那样:

 if you check the file  `flavor.json` its content => {"flavor" : "Cookies & Cream"}
 if you check the file  `ice_cream_flavor.json` its content => {"ice cream flavor":"Cookies & Cream"}