1
mengzhuo 2013-12-20 11:51:15 +08:00
我竟然看成了……如何用json先生/成列表/然后列表项再变成字典或json数据?
这本身就是个js可读的列表,列表里是object,不明白LZ要干什么 |
2
justfly 2013-12-20 12:08:40 +08:00
import json
data_list=json.loads("xxxxx") for data_item_dict in data_list: # do something |
3
pc10201 OP @justfly
#coding=utf-8 import json import requests r=requests.get('http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?page=1&num=10&sort=changepercent&asc=0&node=sz_a&symbol=') print r.text data_list=json.loads(r.text) for data_item_dict in data_list: print data_item_dict 不行啊,代码报错 Traceback (most recent call last): File "D:/python_project/myself/���˹�Ʊ/test.py", line 8, in <module> data_list=json.loads(r.text) File "D:\Python27\lib\json\__init__.py", line 338, in loads return _default_decoder.decode(s) File "D:\Python27\lib\json\decoder.py", line 365, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "D:\Python27\lib\json\decoder.py", line 381, in raw_decode obj, end = self.scan_once(s, idx) ValueError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) |
4
Ever 2013-12-20 12:29:11 +08:00
这个json不太标准, 比如key没加引号, js处理没问题, 其他语言就看json库是不是兼容非标准了。
你可以拿pyv8封一个函数, 把这个字符窜当object传进去做一个JSON.stringify, 再吐给python的json库解。 |
5
9hills 2013-12-20 12:39:46 +08:00
这个不符合JSON标准,需要单独处理的。
|
6
Jowei 2013-12-20 22:23:30 +08:00
你把代码总request.text 改成 request.content 试试? 我记得requests 返回后,有不同的格式。其中content好像是unicode格式, 再用json.loads()试下。
|
9
stc 2013-12-31 09:04:43 +08:00
也可以先用正则加上引号,再load
|