我正在使用
httplib.HTTPConnection(self._myurl)
conn.request("GET", "/")
data = conn.getresponse().read()
现在这个URL返回一个类似于下面的python类型数组:
[1,"apple",23,"good"]
[2,"grape",4,"bad"]
现在我从服务中获取此结果作为数据中的字符串。如何将此结果直接解析/编码为数组/列表而不必自己剖析并创建数组?
答案 0 :(得分:3)
如果服务器正在返回JSON(它看起来可能是这样),那么这很简单:
import json
# ... snip ...
rehydrated_data = json.loads(data)
答案 1 :(得分:0)
[更新]
服务实际上是为流而不是批量数据而设计的。这就是为什么我实际上获取对象数组而不是数组对象数组。
我最终使用以下逻辑在javascript端处理它。
1. data = data.replace(']','],')
2. data = '[' + data.rstrip(',') + ']'
3. data = json.loads(data)
回复上述回答
实际上不是,json将是
{"key":[[...],[...]]}
我已尝试过该代码但失败并出现以下错误。
...
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 369, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 38 column 119 (char 25 - 4048)