Internet Explorer解析JSON的方式与Rails中的所有其他浏览器不同

时间:2011-02-10 00:26:57

标签: ruby-on-rails json internet-explorer

我有一个json对象。如果我在Internet Explorer中解析它:

(rdb:776) parsed_json = ActiveSupport::JSON.decode(params[:json])
StandardError Exception: Invalid JSON string

然而,如果我在任何其他浏览器中执行此操作,同样的参数会成功..

这可能是什么原因?

传递的json

"{\"results\":[{\"date_paid\":\"2/27/2008\",\"interest_rate\":5.5,\"date_awarded\":\"02/02/2008\",\"total_interest\":7.66,\"tf\":0.0712328767123288,\"principal\":1955.96,\"amount_paid\":100.0},{\"date_paid\":\"12/31/2008\",\"interest_rate\":5.5,\"date_awarded\":\"02/28/2008\",\"total_interest\":86.14,\"tf\":0.843835616438356,\"principal\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/2009\",\"interest_rate\":4.0,\"date_awarded\":\"1/1/2009\",\"total_interest\":74.24,\"tf\":1.0,\"principal\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/2010\",\"interest_rate\":1.5,\"date_awarded\":\"1/1/2010\",\"total_interest\":27.84,\"tf\":1.0,\"principal\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"02/09/2011\",\"interest_rate\":0.5,\"date_awarded\":\"1/1/2011\",\"total_interest\":1.02,\"tf\":0.10958904109589,\"principal\":1855.96,\"amount_paid\":0.0}],\"docket_num\":\"\",\"total_days\":{\"numerator\":95299200,\"denominator\":1},\"interest_rate\":0.005,\"our_file_num\":\"\",\"total_sum_interest\":196.9,\"payments\":[{\"date_paid\":\"2/27/2008\",\"date_awarded\":\"02/02/2008\",\"total_interest\":7.66,\"judgement_balance\":1955.96,\"amount_paid\":100.0},{\"date_paid\":\"12/31/2008\",\"date_awarded\":\"02/28/2008\",\"total_interest\":86.14,\"judgement_balance\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/2009\",\"date_awarded\":\"1/1/2009\",\"total_interest\":74.24,\"judgement_balance\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/2010\",\"date_awarded\":\"1/1/2010\",\"total_interest\":27.84,\"judgement_balance\":1855.96,\"amount_paid\":0.0},{\"date_paid\":\"02/09/2011\",\"date_awarded\":\"1/1/2011\",\"total_interest\":1.02,\"judgement_balance\":1855.96,\"amount_paid\":0.0}],\"total_interest\":196.9,\"per_diem\":0.179,\"tf\":0.10958904109589,\"lda\":false}"

失败的json

"{\"results\":[{\"date_paid\":\"12/31/1981\",\"interest_rate\":12.0,\"date_awarded\":\"02/02/1981\",\"total_interest\":214.14,\"tf\":0.912328767123288,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1982\",\"interest_rate\":12.0,\"date_awarded\":\"1/1/1982\",\"total_interest\":234.72,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1983\",\"interest_rate\":12.0,\"date_awarded\":\"1/1/1983\",\"total_interest\":234.72,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1984\",\"interest_rate\":12.0,\"date_awarded\":\"1/1/1984\",\"total_interest\":235.36,\"tf\":1.0027397260274,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1985\",\"interest_rate\":12.0,\"date_awarded\":\"1/1/1985\",\"total_interest\":234.72,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1986\",\"interest_rate\":9.5,\"date_awarded\":\"1/1/1986\",\"total_interest\":185.82,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1987\",\"interest_rate\":7.5,\"date_awarded\":\"1/1/1987\",\"total_interest\":146.7,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1988\",\"interest_rate\":6.0,\"date_awarded\":\"1/1/1988\",\"total_interest\":117.68,\"tf\":1.0027397260274,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1989\",\"interest_rate\":7.0,\"date_awarded\":\"1/1/1989\",\"total_interest\":136.92,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1990\",\"interest_rate\":8.0,\"date_awarded\":\"1/1/1990\",\"total_interest\":156.48,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1991\",\"interest_rate\":8.5,\"date_awarded\":\"1/1/1991\",\"total_interest\":166.26,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1992\",\"interest_rate\":7.5,\"date_awarded\":\"1/1/1992\",\"total_interest\":147.1,\"tf\":1.0027397260274,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1993\",\"interest_rate\":5.5,\"date_awarded\":\"1/1/1993\",\"total_interest\":107.58,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1994\",\"interest_rate\":3.5,\"date_awarded\":\"1/1/1994\",\"total_interest\":68.46,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1995\",\"interest_rate\":3.5,\"date_awarded\":\"1/1/1995\",\"total_interest\":68.46,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1996\",\"interest_rate\":5.5,\"date_awarded\":\"1/1/1996\",\"total_interest\":107.87,\"tf\":1.0027397260274,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1997\",\"interest_rate\":5.5,\"date_awarded\":\"1/1/1997\",\"total_interest\":107.58,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12/31/1998\",\"interest_rate\":5.5,\"date_awarded\":\"1/1/1998\",\"total_interest\":107.58,\"tf\":1.0,\"principal\":1955.96,\"amount_paid\":0.0},{\"date_paid\":\"12"

如何造成

这是我的控制者:

@json = @calc.to_json

这是我的观点:

= form_tag generate_csv_path(:json => @json) do
  = submit_tag 'Print CSV', :id => "print_csv"

2 个答案:

答案 0 :(得分:1)

为什么不把它作为表格中的隐藏字段传递?

答案 1 :(得分:0)

“失败的JSON”在其末尾缺少\"}。 (就像粗略一瞥)