首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Json和非英语语言

Json和非英语语言
EN

Stack Overflow用户
提问于 2017-06-12 15:29:21
回答 1查看 2.1K关注 0票数 4

我是Python新手,并努力学习它。

我试图使用Tweepy保存tweet,因为我的查询是“阿拉伯语”,结果似乎很奇怪:

代码语言:javascript
运行
复制
"created_at": "Mon Jun 12 15:12:50 +0000 2017", "id": 874283356158033920, "id_str": "874283356158033920", "text": "\\u0637\\u0627\\u0644\\u0628\\u0629 \\u062c\\u0633\\u0645\\u0647\\u0627 \\u062c\\u0628\\u0627\\u0631 \\u062a\\u062a\\u062e\\u062f \\u0645\\u0646 \\u0627\\u0644\\u0634\\u0627\\u0631\\u0639 \\u0648 \\u062a\\u062a\\u0646\\u0627\\u0643..\\n\\n\\u0633\\u0643\\u0633_\\u0627\\u062c\\u0646\\u0628\\u064a\\n\\u0645\\u0642\\u0627\\u0637\\u0639_\\u0633\\u0643\\u0633\\nbabes\\n2236 ", "truncated": false, "entities"

我试了很多次,在这里看到了很多类似的问题,但都找不到答案。Json支持阿拉伯语吗?

这是我的代码:

代码语言:javascript
运行
复制
import tweepy
import json
from pprint import pprint
import time
auth = tweepy.OAuthHandler("", "")
auth.set_access_token("", "")
api = tweepy.API(auth)
max_tweets=100
query='الشارع'
searched_tweets = [status._json for status in tweepy.Cursor(api.search,  q=query).items(max_tweets)]
json_strings = [json.dumps(json_obj) for json_obj in searched_tweets]  
print(json_strings)

我用的是Python3

EN

Stack Overflow用户

回答已采纳

发布于 2017-06-12 15:35:14

问题是,默认情况下,json.dumps()使用转义Unicode符号编码任何非ASCII字符,这在JSON规范中是可选的。通过将ensure_ascii=False传递给dumps(),这将禁用此特性。

一旦解决了主要问题,第二个问题就是尝试打印列表。Python将打印列表的representation,包括其中数据的表示。这意味着数据包括文字和打印数据的安全方法。

对于字符串,这意味着对象是用引号打印的,任何非ascii字符都被打印为Unicode转义序列。

尝试:

代码语言:javascript
运行
复制
json_strings = [json.dumps(json_obj, ensure_ascii=False) for json_obj in searched_tweets]  
for tweet in json_strings:
    print(tweet)
票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44503253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档