0

コントローラー側では、次のようなパラメーターを取得しています

"{\"violation_date\":\"sdfsdf\",\"violation_time\":\"\"},{\"violation_date\":\"sdfdsf\",\"violation_time\":\"sdfsdf\"},{\"violation_date\":\"1233\",\"violation_
time\":\"\"},{\"violation_date\":\"test\",\"violation_time\":\"time\"}"

これのクラスはString。これを解析しようとしています。終えた

JSON.parse(params_gotton)

手に入れた

 JSON::ParserError (757: unexpected token at ',{"violation_date":"sdfdsf","violation_time":"sdfsdf"},{"violation_date":"1233","violation_time":""},{"violation_d
te":"test","violation_time":"time"}'):

ここで私が間違っていること。助言がありますか?

4

2 に答える 2

4

これは有効なjsonではありません。これは機能します([]を使用):

require 'json'
jsn = '[{"violation_date":"sdfsdf","violation_time":""},
{"violation_date":"sdfdsf","violation_time":"sdfsdf"},
{"violation_date":"1233","violation_time":""},
{"violation_date":"test","violation_time":"time"}]'

JSON.parse(jsn) # => [{"violation_date"=>"sdfsdf", "violation_time"=>""}, {"violation_date"=>"sdfdsf", "violation_time"=>"sdfsdf"}, {"violation_date"=>"1233", "violation_time"=>""}, {"violation_date"=>"test", "violation_time"=>"time"}]

json 文字列を確認するには、 http://www.jslint.com/を使用できます。基本的な json 構造: http://json.org/

更新しました

あなたの場合、これを試してください:

JSON.parse('[' + params_gotton + ']')
于 2013-09-04T11:38:20.753 に答える