743:在Ruby on Rails中'...的意外标记

时间:2011-11-25 21:25:26

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

我在Dropbox文件夹中保存了一个名为array.json的文件,然后通过Dropbox API访问它。一切正常,但当我检索JSON内容时,我不能JSON.parse那个字符串!!

session = DropboxSession.new(APP_KEY, APP_SECRET)
session.set_access_token(ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET)
client = DropboxClient.new(session, ACCESS_TYPE)

json = client.get_file(DIRECTORY + '/array.json')

@json = JSON.parse json 错误:

743:'{“Nome”:“Mario Rossi”的意外令牌, “C.F.” :“ABCDEFGHILMNOP”, “预订协助”:“MARIO”, “预订状态”:“25/11/2011”}' JSON字符串有效!!如果我复制此字符串并将其(手动)粘贴为JSON.parse()中的参数,json将被正确解析!所以我认为是编码问题...但我错了?

1 个答案:

答案 0 :(得分:2)

我们已经放弃了Rails中默认的json解析后端。默认的后端是基于YAML而且是无用的混乱。在几次解析unicode和日期之后,我们发现后端可以通过配置替换。

您可以在初始化程序中替换解析后端

ActiveSupport::JSON.backend = "JSONGem"

有几个宝石可以用作后端,我们只使用json gem

gem 'json'