Le contenu de cet article explique comment lire et écrire des données json (code) en python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Utilisez le langage Python pour encoder et décoder les objets JSON.
JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire pour les humains. Pour utiliser la fonction json, vous devez importer le module json
json.dumps
Encoder l'objet Python dans une chaîne JSON
json.loads
est utilisé pour décoder les données JSON. Cette fonction renvoie le type de données du champ Python.
Encoder les objets python au format de chaîne json
d = {'name':'sheen', 'age':17} jsonStr = json.dumps(d) #{"name": "sheen", "age": 17} <class> l = [1,3,5,1.2] jsonList = json.dumps(l) #[1, 3, 5, 1.2] <class></class></class>
Décoder la chaîne json obtenue en objets python
pydict = json.loads(jsonStr) #{'name': 'sheen', 'age': 17} <class> pylist = json.loads(jsonList) #[1, 3, 5, 1.2] <class></class></class>
Encoder le python objet dans un format de chaîne json et écrivez-le dans le fichier
with open('json.txt','w') as f : json.dump(d,f)
Décoder la chaîne json dans le fichier en un objet python
with open('json.txt') as f: jsondict = json.load(f) #{'name': 'sheen', 'age': 17} <class></class>
Donner 100 utilisateurs différents une valeur, stockez-la dans le fichier 'json_dump.txt', et elle est au format json
paramètres json.dump()
indent
doit être un entier non négatif s'il est 0 ou vide, les données seront affichées sur une seule ligne, sinon la ligne sera renvoyée à la ligne et le blanc précédent sera affiché en fonction du nombre de ; indents
sort_keys
Trier les données selon la valeur des clés
separators = ( "entre chaque élément "Séparateur", "Séparateur entre clé et valeur")
#给100个不同的用户一个value值 #存放到文件'json_dump.txt',并且是json格式 import json import string from random import choice keys = ['user'+str(i) for i in range(100)] values = string.ascii_lowercase+string.ascii_uppercase #大小写字符串 dict = {choice(keys):choice(values) for i in range(100)} with open('json_dump.txt','w') as f: #indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白 #sort_keys:将数据根据keys的值进行排序 #separators = ("每个元素间的分隔符", “key和value之间的分隔符”) json.dump(dict,f,indent=4,sort_keys=True, separators=(';', '=')) #为何最后文件不够100行? #因为随机选取的key值可能会重复,字典类型的key不允许重复,最后得到的数据会少于你给定的100次
Certaines API permettant d'interroger l'emplacement, l'opérateur et d'autres informations basées sur l'IP sont les suivantes :
1. 淘宝的API(推荐):http://ip.taobao.com/service/getIpInfo.php?ip=110.84.0.129 2. 国外freegeoip.net(推荐):http://freegeoip.net/json/110.84.0.129 这个还提供了经纬度信息(但不一定准) 3. 新浪的API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=110.84.0.129 4. 腾讯的网页查询(返回的非json格式): http://ip.qq.com/cgi-bin/searchip?searchip1=110.84.0.129 5. ip.cn的网页(返回的非json格式):http://www.ip.cn/index.php?ip=110.84.0.129 6. ip-api.com: http://ip-api.com/json/110.84.0.129
L'une des caractéristiques de la plupart des interfaces API mentionnées ci-dessus est que les données renvoyées sont directement dans format json
import json from urllib.request import urlopen # ip = input("请输入你要查询的Ip:") ip = '8.8.8.8' url = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %(ip) print(url) # 根据url获取网页的内容, 并且解码为utf-8格式, 识别中文; text = urlopen(url).read().decode('utf-8') # print(text,type(text)) data = json.loads(text)['data'] country = data['country'] country_id = data['country_id'] print(country,country_id)
Recommandations associées :
Comment utiliser Python pour lire et écrire des fichiers json
La base de données php lit JSON et écrit dans la base de données, comment le résoudre
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!