Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python2.7中将原始字符串转换为JSON对象_Python_Json_Python 2.7 - Fatal编程技术网

在python2.7中将原始字符串转换为JSON对象

在python2.7中将原始字符串转换为JSON对象,python,json,python-2.7,Python,Json,Python 2.7,我正在查询PostgreSQL服务器以获取数据,而一个特定的json对象实际上作为字符串返回。我尝试了以下操作,但没有给出正确的输出:(它是ipythonoutputs) 如何通过识别“:”符号将字符串转换为json 当我尝试“json.loads”时。以下是错误: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/IPython/core/interactiveshell.py", line

我正在查询PostgreSQL服务器以获取数据,而一个特定的
json
对象实际上作为字符串返回。我尝试了以下操作,但没有给出正确的输出:(它是
ipython
outputs)

如何通过识别“:”符号将字符串转换为json

当我尝试“json.loads”时。以下是错误:

Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-12-a7562191decf>", line 1, in <module>
    data = json.loads(temp)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 381, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting : delimiter: line 1 column 11 (char 10)
回溯(最近一次呼叫最后一次):
文件“/Library/Python/2.7/site packages/IPython/core/interactiveshell.py”,第3035行,运行代码
exec(代码对象、self.user\u全局、self.user\n)
文件“”,第1行,在
data=json.load(临时)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/_init__.py”,第338行,加载
返回\u默认\u解码器。解码
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,解码中的第365行
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第381行,原始解码
obj,end=self.scan_一次(s,idx)
ValueError:应为:分隔符:第1行第11列(字符10)

您的代码有缺陷。你应该使用
json.loads()
,而不是
json.dumps()
(如果我没弄错你的问题的话)。这里将原始字符串转换为JSON字符串。您想将JSON字符串转换为JSON对象吗?

请尝试
JSON.loads()
将JSON字符串加载(反序列化)为Python
dict

>>> import json
>>> s = '{"max":28, "min":18, "custom":[{"id":"12345", "name":"test_pur"}]}'
>>> data = json.loads(s)
>>> print data["max"]
28

json.loads()
的任何建议对您有用吗?谢谢您的回复。我刚刚编辑了我的post+1,python通常也有很好的文档。可能值得一读请注意,
s
需要单引号,而不是双引号
>>> import json
>>> s = '{"max":28, "min":18, "custom":[{"id":"12345", "name":"test_pur"}]}'
>>> data = json.loads(s)
>>> print data["max"]
28