0

私は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[:添付ファイル])

これは私にエラーをスローします

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"}}'):

これを解決する方法を提案してください。

4

1 に答える 1

2

JSON.parse は、JSON 形式の文字列をハッシュに解析しますが、その逆ではありません。何を達成したいのかわからない?

ハッシュを JSON (文字列) に変換しようとしている場合は、使用できます

params[:attachment].to_json

JSON(文字列)をハッシュに変換しようとしている場合は、使用できます

JSON.parse(params[:添付ファイル])

ただし、文字列は JSON のようには見えません (必要な=>場所が含まれています:) 。

有効な JSON は次のようになります。

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

于 2013-03-08T09:26:59.377 に答える