>  기사  >  백엔드 개발  >  Python에서 json 데이터를 읽고 쓰는 방법(코드)

Python에서 json 데이터를 읽고 쓰는 방법(코드)

不言
不言원래의
2018-09-13 17:48:451771검색

이 문서의 내용은 Python에서 json 데이터(코드)를 읽고 쓰는 방법에 대한 것입니다. 참고할 만한 가치가 있으므로 도움이 필요한 친구들에게 도움이 되길 바랍니다.

json

Python 언어를 사용하여 JSON 개체를 인코딩하고 디코딩합니다.
JSON(JavaScript Object Notation)은 사람이 쉽게 읽고 쓸 수 있는 경량 데이터 교환 형식입니다. json 함수를 사용하려면 json 모듈

  • json.dumps

을 가져와서 Python 객체를 JSON 문자열로 인코딩해야 합니다.

  • json.loads

은 JSON 데이터를 디코딩하는 데 사용됩니다. 이 함수는 Python 필드의 데이터 유형을 반환합니다.

기본 명령

Python 개체를 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>

얻은 json 문자열을 python 개체로 디코딩

pydict = json.loads(jsonStr)    #{'name': 'sheen', 'age': 17} <class>

pylist = json.loads(jsonList)   #[1, 3, 5, 1.2] <class></class></class>

python 개체를 json 문자열 형식으로 인코딩하고 파일에 쓰기

with open('json.txt','w') as f :
    json.dump(d,f)

파일의 json 문자열 디코딩 100명의 다른 사용자에게 값을 제공하고 'json_dump.txt' 파일에 저장하며 json 형식

json.dump() 매개변수


indent

  • 입니다.

    음수가 아닌 정수여야 합니다. 0이거나 비어 있으면 데이터가 한 줄에 표시됩니다. 그렇지 않으면 줄 바꿈되고 들여쓰기 수에 따라 앞의 공백이 표시됩니다. sort_keys

키 값에 따라 데이터 정렬

  • separators = ("각 요소 사이의 구분 기호", "키와 값 사이의 구분 기호")

with open('json.txt') as f:
    jsondict = json.load(f) #{'name': 'sheen', 'age': 17} <class></class>

  • IP 주소 쿼리
IP를 기반으로 위치, 통신사, 기타 정보를 조회하는 일부 API는 다음과 같습니다.

#给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次
위에서 언급한 API 인터페이스의 대부분은 반환된 데이터가 json 형식으로 직접 반환되는 기능이 있습니다. Python에서 json 데이터를 읽고 쓰는 방법(코드)
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

관련 권장 사항:

Python을 사용하여 json 파일을 읽고 쓰는 방법Python에서 json 데이터를 읽고 쓰는 방법(코드)

php 데이터베이스에서 JSON을 읽고 데이터베이스에 쓰는 방법, 해결 방법

위 내용은 Python에서 json 데이터를 읽고 쓰는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.