1
Livid MOD 你最好能够把代码和 JSON 都贴出来,这样我们可以更好地帮你。
|
2
btwo OP 1. &# 38795; &# 20937;&# 38795;&# 40060;&# 22068;&# 38795 的字符, 我提交就自动转换成中文了!汗!
|
3
btwo OP 1.
http://love.taobao.com/guang/async_search.htm?t=1340953549726&page=6&tagid=170&qc=&order=4&cat=&price=&version=91&nid=&start_price=&end_price=&market_id=0&s_type=&color= 这个淘宝的一个JSON请求地址 #!/usr/bin/env python # -*- coding: UTF-8 -*- import requests r = requests.get('http://love.taobao.com/guang/async_search.htm?t=1340953549726&page=6&tagid=170&qc=&order=4&cat=&price=&version=91&nid=&start_price=&end_price=&market_id=0&s_type=&color=') print r.text 由于没解决问题,只测试了下。 2. str= s.replace(r'\r\n', '\n').replace(r'\"', '"').replace(r'\/', '/').replace(r'\t', ' ') 我现在是这样替换的,感觉处理不完美,肯定有更好的解决办法。 3. def jiema(getstring): fstr=r"" list_str=getstring.split(r'\u') for single in list_str: if single != '': fstr+=unichr(int(single,16)) print fstr 解码的方法 JSON的地址:http://www.meilishuo.com//aj/getGoods/catalog?frame=0&page=0&view=1&word=0&cata_id=6000000000000§ion=hot&price=all&_=1338983940302 |
4
cute 2012-06-29 16:28:17 +08:00
import json
print json.dumps({'name':'中文', 'url':'http://www.v2ex.com/t/40916'}, ensure_ascii=False) |
5
btwo OP 补充: 我用得是WINDOWS的环境,是不是和本地编码也有关系,网上找了些资料看,都是几个编码的问题,新手看得有点晕乎了!
|
6
cloudzhou 2012-06-29 16:54:17 +08:00
@Livid 这个地方我也有纠结的地方,比如 json.dumps({'xss': '<script>alert(1)</script>'}),如果避免xss呢,尤其是数据的来源有很多种方式,目前我通过人工做的,应该可以通过json的一些机制,统一设置一些处理规则
|
7
cute 2012-06-29 18:31:20 +08:00 1
@cloudzhou
import json import cgi import functools def encoder(o, _encoder=json.encoder.encode_basestring): .... if isinstance(o, basestring): ........o = cgi.escape(o) ....return _encoder(o) json.encoder.encode_basestring = encoder json.encoder.encode_basestring_ascii = functools.partial(encoder, _encoder=json.encoder.encode_basestring_ascii) print json.dumps({'<xss>': '<script>alert(1)</script>'}) {"<xss>": "<script>alert(1)</script>"} |
8
cute 2012-06-29 18:32:00 +08:00
'\u8d85\u8bbe\u8ba1\u611f\u539a\u5e95\u51c9\u978b'.decode('raw_unicode_escape')
|