一、jason基本概念
json主要用于存储和交换文本信息的语法,类似xml
json比xml更小、更快、更易解析
json.dumps():将一个Python对象编码成Json字符串(序列化时用过)
json.loads():将Json格式字符串编码成python对象
序列化:把python中变量直接存储到文件中,然后传输给其他地方
二、Json应用
import json
json.dumps("abc")
type(json.dumps("abc"))
json.dumps([1,2,3])
json.dumps({1:2,3:4,5:6})
json.dumps((1,2,3,"abc")) #转换为数组
json.loads('[1, 2, 3, "abc"]')
三、如何验证json字符串合法性
思路:
try:
json.loads
except:
例子:
try:
json.loads("123")
except:
print("error")
try:
json.loads(123)
except:
print("error")
a=json.loads('{"1":"abc"}')
a
type(a)
a["1"]
b=json.loads('{"2":true}')
b
c=json.loads('{"3":[1,2,"ac"]}')
c
c["3"][2]
d=json.loads('{"4":[1,2,8.9,null,{"41":"x"}]}')
d
四、Json数组
json.loads("""
{
"employees":[
{"firstName":"Jone","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]
}
""")
五、Json编码
a=json.dumps({"1":2})
type(a)
a=json.dumps([1,2,3,4])
type(a)
a
json.loads(a)
a=json.dumps({"1":2})
json.loads(a)
a=json.dumps(True)
a
json.loads(a)
a=json.dumps(None)
a
json.loads(a)
a
a
json.loads(a)
a=json.dumps(1.4)
a
json.loads(a)
a=json.dumps(None)
a
print(json.loads(a))
re.search(r'{"1":"a"}','{"1":"a"}')
re.search(r'{"(\d+)":"a"}','{"13333":"a"}')
re.search(r'{"(\w+)":"a"}','{"13333xxa333":"a"}')
re.search(r'{"(\w+)":\["(\w+)".\d+.\d+\]}','{"13333xxa333":["a",1,2]}')
匹配:{"code":1,"userid":10000}
re.search(r'{"code":\d+,"userid":\d+}','{"code":1,"userid":10000}').group()
a=[{1:12,"a":12.3},[1,2,3],(1,2),"asd",12,3.3,True,False,None]
print(json.dumps(a))