【问题标题】:How can I convert a hash into JavaScript format?如何将哈希转换为 JavaScript 格式?
【发布时间】:2017-07-05 00:26:13
【问题描述】:

我有一个哈希

{:name =>"douglas_hettinger@braunlebsack.io"}

我正在尝试将此哈希转换为以下 JavaScript 格式。

{"name" : "douglas_hettinger@braunlebsack.io"}

我试过了:

{:name=>"douglas_hettinger@braunlebsack.io"}.to_json

给出输出:

"{\"name\":\"douglas_hettinger@braunlebsack.io\"}"

用 JSON 解析得到:

JSON.parse({:name=>"douglas_hettinger@braunlebsack.io"}.to_json) 
# => {"name"=>"douglas_hettinger@braunlebsack.io"}

【问题讨论】:

  • 我认为这里的最佳答案是您正在寻找的stackoverflow.com/questions/3183786/…
  • "{\"name\":\"douglas_hettinger@braunlebsack.io\"}" 是字符串的inspect,默认的字符串在控制台中的呈现方式。字符串 content(由 inspect 用反斜杠转义,这就是为什么您可能认为结果错误的原因)是:{"name":"douglas_hettinger@braunlebsack.io"},正是您想要的。在控制台中使用puts {...}.to_json 而不是{...}.to_json 来验证这一点。
  • 你有什么问题?

标签: json ruby


【解决方案1】:

to_json 应该可以工作:

require 'json'
{:name =>"douglas_hettinger@braunlebsack.io"}.to_json
#=> "{"name":"douglas_hettinger@braunlebsack.io"}"

【讨论】:

    【解决方案2】:

    据我了解,您想重新创建转换为 JSON 的相同哈希。

    这可以通过将选项 symbolize_names: true 传递给 JSON.parse 方法来完成。

    代码看起来像这样

    JSON.parse({:name=>"douglas_hettinger@braunlebsack.io"}.to_json, symbolize_names: true)
    

    【讨论】:

      猜你喜欢
      • 2012-11-11
      • 2021-08-26
      • 1970-01-01
      • 2015-11-26
      • 2012-04-21
      • 2013-02-04
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多