python3 json_python3 json模块

importjson"""将python的字典和列表转化为json字符串。json是前后端交互的枢纽"""dic= {'name': '莉莉', 'age':18}

str_json= json.dumps(dic, ensure_ascii=False) #将python中的字典转换为json字符串

print(str_json)print(type(str_json))

lst= ["苹果", "桃子", "梨子"]

str2_json= json.dumps(lst, ensure_ascii=False) #将python中的列表转化为json字符串

print(str2_json)print(type(str2_json))

{"name": "莉莉", "age": 18}

["苹果", "桃子", "梨子"]

importjson"""将json字符串转化为Python的数据类型"""str_json= '{"name": "莉莉", "age": 18}'dic= json.loads(str_json) #安全

print(dic)print(type(dic))print(eval(str_json)) #不安全

str2_json= '["苹果", "桃子", "梨子"]'lst=json.loads(str2_json)print(lst)print(type(lst))

{'name': '莉莉', 'age': 18}

{'name': '莉莉', 'age': 18}

['苹果', '桃子', '梨子']

importjson

#将dict字典类型数据转换为json字符串

dic = {"name": "莉莉", "age": 18}

json_str = json.dumps(dic, ensure_ascii=False)

print(json_str)

print(type(json_str))

#将json字符串转换为dict字典类型

json_str = '{"name": "lily", "age": 18}'dic =json.loads(json_str)

print(dic)

print(type(dic))

{"name": "莉莉", "age": 18}

{'name': 'lily', 'age': 18}

importjson#将list类型数据转换为json字符串

dic = ["莉莉", 18]

json_str= json.dumps(dic, ensure_ascii=False)print(json_str)print(type(json_str))#将json字符串转换为list类型

json_str = '["莉莉", 18]'dic=json.loads(json_str)print(dic)print(type(dic))

["莉莉", 18]

['莉莉', 18]

importjson#将tuple类型数据转换为json字符串

dic = ("莉莉", 18)

json_str= json.dumps(dic, ensure_ascii=False)print(json_str)print(type(json_str))#将json字符串转换为list类型

json_str = '["莉莉", 18]'dic=json.loads(json_str)print(dic)print(type(dic))

["莉莉", 18]

['莉莉', 18]

importjson#将set类型数据不能转换为json字符串

dic = {"莉莉", 18}

json_str= json.dumps(dic, ensure_ascii=False)print(json_str)print(type(json_str))

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in ()

3 # 将set类型数据不能转换为json字符串

4 dic = {"莉莉", 18}

----> 5json_str = json.dumps(dic, ensure_ascii=False)

6 print(json_str)

7 print(type(json_str))

~\Anaconda3\lib\json\__init__.py in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)

236 check_circular=check_circular, allow_nan=allow_nan, indent=indent,

237 separators=separators, default=default, sort_keys=sort_keys,

--> 238**kw).encode(obj)

239

240

~\Anaconda3\lib\json\encoder.py in encode(self, o)

197 # exceptions aren't as detailed. The list call should be roughly

198 # equivalent to the PySequence_Fast that ''.join() would do.

--> 199chunks = self.iterencode(o, _one_shot=True)

200 if not isinstance(chunks, (list, tuple)):

201 chunks = list(chunks)

~\Anaconda3\lib\json\encoder.py in iterencode(self, o, _one_shot)

255 self.key_separator, self.item_separator, self.sort_keys,

256 self.skipkeys, _one_shot)

--> 257return _iterencode(o, 0)

258

259 def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,

~\Anaconda3\lib\json\encoder.py in default(self, o)

178 """

179 raise TypeError("Object of type '%s' is not JSON serializable" %

--> 180o.__class__.__name__)

181

182 def encode(self, o):

TypeError: Object of type 'set' is not JSON serializable

importjson"""将Python的数据类型dict或list转换为json字符串,并写入文件中"""dic= {'name': '莉莉', 'age':18}

json.dump(dic, open("user.json", "w"), ensure_ascii=False)

lst= ["苹果", "桃子", "梨子"]

json.dump(lst, open("fruit.json", "w"), ensure_ascii=False)

importjson"""读取文件中的json字符串"""dic= json.load(open("user.json", "r"))print(dic)print(type(dic))

lst= json.load(open("fruit.json", "r"))print(lst)print(type(lst))

{'name': '莉莉', 'age': 18}

['苹果', '桃子', '梨子']

importjson"""前端json和python字典、列表的区别:前端true, false, null,双引号 ==》对应python的True, False, None, 单引号"""lst= [True, False, None, '引号']print(json.dumps(lst, ensure_ascii=False))

[true, false, null, "引号"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值