python和json - ValueError:期望属性名称:第1行第1列(char 1)

时间:2014-03-10 15:31:41

标签: python json

哇...和json的python是什么? 我通过弹出一个redis队列得到以下字符串,该队列是通过将字典转储到json字符串并放入列表中生成的。当我弹出......哇......我得到了下面的

args = {'series': 'exr|usd|gbp', 'K': 2, 'M': 2, 'tau': 1}
args = json.loads(args)
Traceback (most recent call last):
  File "/home/ubuntu/workspace/chaos/chaos_worker.py", line 12, in <module>
    args = json.loads(args)
  File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)

1 个答案:

答案 0 :(得分:4)

等等,你是否正在将python dict转换为json?在这种情况下,使用json.dumps。您在第一行定义的args实际上是dict

args = {'series': 'exr|usd|gbp', 'K': 2, 'M': 2, 'tau': 1}
print args.__class__
Out: dict
args = json.dumps(args)
print args
Out: '{"series": "exr|usd|gbp", "K": 2, "M": 2, "tau": 1}'

按预期在json可解析字符串中。