Python Json和非英语语言

Python Json和非英语语言,python,Python,我是Python新手,正在努力学习 我试图用Tweepy保存推文,因为我的查询是用“阿拉伯语”,所以结果似乎很奇怪,如下所示: "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

我是Python新手,正在努力学习

我试图用Tweepy保存推文,因为我的查询是用“阿拉伯语”,所以结果似乎很奇怪,如下所示:

"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支持阿拉伯语吗

这是我的密码:

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,问题是默认情况下,
json.dumps()
使用转义Unicode符号对任何非ASCII字符进行编码,这在json规范中是可选的。通过将
确保\u ascii=False
传递到
转储()
,这将禁用此功能

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

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

尝试:


这里唯一的问题是,您正在打印一个序列化JSON列表,而不是序列化列表。@AlastairMcCormack ahh的可能重复项好的,谢谢-将删除注释我正在使用Python3I在我的代码中复制了您的代码,并显示了相同的结果。好的,请参阅
转储中添加
确保ascii=false
。我将解释它是否有效,它说:名称“false”没有定义对不起,
false
应该是
false
给出了解释
json_strings = [json.dumps(json_obj, ensure_ascii=False) for json_obj in searched_tweets]  
for tweet in json_strings:
    print(tweet)