【问题标题】:Json Parse Error on parsing a hash解析哈希时出现 Json Parse 错误
【发布时间】:2013-03-08 09:00:33
【问题描述】:

我正在研究 Ruby on Rails。我有一个像下面这样的哈希

{"attachment"=>"{:output_dir=>\"/home/mypath/\", :process_hash=>\"8b9d9c51\", :type=>\"pdf\", :processed_dir=>\"/513/9a1/88a\", :pdf=>\"/system/path/a3ae1194f76d737b6cfb141fa0fde17f78f2e94e.pdf\", :slides_count=>4, :meta=>{:swfs=>\"{/system/path/88a/8b9d9c51[*,0].swf,4}\", :pngs=>\"/system/path/8b9d9c51{page}.png\", :json=>\"/system/path/8b9d9c51.js\"}}"

在我的代码中

JSON.parse(params[:attachment])

这会给我一个错误

JSON::ParserError (757: '{:output_dir=>"/home/path", :process_hash=>"8b9d9c51", :type=>"pdf", :processed_dir=>"/513/ 处出现意外标记9a1/88a", :pdf=>"/system/path/a3ae1194f76d737b6cfb141fa0fde17f78f2e94e.pdf", :slides_count=>4, :meta=>{:swfs=>"{/system/path/8b9d9c51[*,0].swf ,4}", :pngs=>"/system/path/8b9d9c51{page}.png", :json=>"/system/path/8b9d9c51.js"}}'):

建议我如何解决这个问题。

【问题讨论】:

    标签: ruby json ruby-on-rails-3 parsing


    【解决方案1】:

    JSON.parse 将 JSON 格式的字符串解析为哈希,而不是相反。我不确定你想完成什么?

    如果您尝试将 Hash 转换为 JSON(字符串),您可以使用

    params[:attachment].to_json

    如果您尝试将 JSON(字符串)转换为 Hash,您可以使用

    JSON.parse(params[:attachment])

    但是,您的字符串看起来不像 JSON(它包括 => 应该有 :

    有效的 JSON 如下所示:

    { "attachment": { "output_dir": "/home/mypath", "process_hash": "89r2432" } }

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 2015-05-22
      • 1970-01-01
      相关资源
      最近更新 更多