Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是否可以在散列上运行.to_json,但不让它以前转义.to_json';什么样的字符串?_Ruby On Rails_Json_Active Model Serializers - Fatal编程技术网

Ruby on rails 是否可以在散列上运行.to_json,但不让它以前转义.to_json';什么样的字符串?

Ruby on rails 是否可以在散列上运行.to_json,但不让它以前转义.to_json';什么样的字符串?,ruby-on-rails,json,active-model-serializers,Ruby On Rails,Json,Active Model Serializers,我们有一个缓存层来存储字符串的json输出。我希望能够将这些字符串放入一个数组中,然后通过.to_json将其转换为json,但它会转义所有以前编码的json。有没有办法避免这种情况 下面是一个示例操作来解释: def index a={name:"jon", email:"jon@domain.com"}.to_json r={} r[:users]=[] r[:users] << a render json: r.to_json end 但我想: {"use

我们有一个缓存层来存储字符串的json输出。我希望能够将这些字符串放入一个数组中,然后通过.to_json将其转换为json,但它会转义所有以前编码的json。有没有办法避免这种情况

下面是一个示例操作来解释:

def index
  a={name:"jon", email:"jon@domain.com"}.to_json
  r={}
  r[:users]=[]
  r[:users] << a
  render json: r.to_json
end
但我想:

{"users":["{"name":"jon","email":"jon@domain.com"}"]}
虽然我没有在这里展示它,但我愿意使用ActiveModelSerializer(0.8分支)

编辑
一种可能是执行JSON.parse,但显然,这会对性能造成一些影响,我希望避免这种影响。

您正在将一个JSON对象转换为另一个JSON对象。。试着替换

   a={name:"jon", email:"jon@domain.com"}.to_json


好的,所以我要展示这一点,因为我们在redis中缓存JSON,所以它是一个JSON字符串。只是为了清楚起见才展示的。我不想,但可以解析它,但这会带来它自己的问题。它确实绕过了生成这些对象时执行的20个sql调用
   a={name:"jon", email:"jon@domain.com"}.to_json
    a={name:"jon", email:"jon@domain.com"}