在python中对pandas dict的JSON不起作用

时间:2016-01-18 12:13:50

标签: python json pandas

我在一个类中有一个函数to_json,它将返回一个像这样的JSON字符串:

{'clusters':[{ 'host':'hostj', 'name':'s3', 'port':'poorke', 'profile':'profil', 'region':'regieo', 'user':'userk' }]}

现在我想从中创建一个字典。当我使用folowwing代码时:

new_cluser_dict = json.loads(clusterx.to_JSON())

我收到以下错误:

Traceback (most recent call last):
  File "/Users/stevengerrits/anaconda/envs/myenv/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 3066, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-13-0887c8f07b97>", line 1, in <module>
    newdict = json.loads(clusterx.to_JSON())
  File "/Users/stevengerrits/anaconda/envs/myenv/lib/python3.4/json/__init__.py", line 318, in loads
    return _default_decoder.decode(s)
  File "/Users/stevengerrits/anaconda/envs/myenv/lib/python3.4/json/decoder.py", line 343, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Users/stevengerrits/anaconda/envs/myenv/lib/python3.4/json/decoder.py", line 359, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

1 个答案:

答案 0 :(得分:0)

您需要将单引号替换为双引号:

clusterx.to_JSON().replace("'", '"')

类似的问题:python: single vs double quotes in JSON