Python 在RoR中获取无效的json
我有一个数组sku=Python 在RoR中获取无效的json,python,ruby-on-rails,json,Python,Ruby On Rails,Json,我有一个数组sku=[“MAPNQ20673”]。在使用sku.to_json将其转换为json时,我得到了“[\“MAPNQ20673\”]。这是一个无效的json。我需要将这个数组传递给python脚本 system "python2 /home/nish/stuff/repos/Untitled/voylla_staging_changes/app/models/ReviseItem.py #{sku.to_json} #{qtys.to_json}" 然后,我使用json.load(s
[“MAPNQ20673”]
。在使用sku.to_json将其转换为json时,我得到了“[\“MAPNQ20673\”]
。这是一个无效的json。我需要将这个数组传递给python脚本
system "python2 /home/nish/stuff/repos/Untitled/voylla_staging_changes/app/models/ReviseItem.py #{sku.to_json} #{qtys.to_json}"
然后,我使用json.load(sys.argv[1])
进行解码。但是由于json是无效的,所以在python脚本中解码json时会出现以下错误:
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
如何将数组转换为有效的json
EDIT:当我从一个独立的ruby程序调用python脚本时,它可以很好地工作。但是,当我试图从RoR应用程序的控制器上执行相同的操作时,它失败了这对我使用Python 2.7非常有效:
>>> from json import dumps, loads
>>> sku = ["MAPNQ20673"]
>>> s = dumps(sku)
>>> x = loads(s)
>>> x == sku
True
>>> x
[u'MAPNQ20673']
如何将其转换为json?您的实际代码在哪里?您可能应该阅读一些关于python和json对象的内容。这段代码毫无意义(或者,看看James Mills关于如何做的回答),你是如何从Ruby调用Python脚本的?@yuvi:我发布了一个编辑,它在独立模式下使用时可以正常工作,但在RoR应用程序中不能。我在琢磨为什么会发生这种情况是的,当我从一个独立的ruby程序调用它时,它对我来说很好。但是当我尝试从RoR应用程序中执行同样的操作时,我得到了一个无效的json。然后我建议您找出编码/解码出错的地方。您将使用Python Ruby on Rails?