MicroPython 库 —— 快速上手ujson
2021/12/18 22:50:43
本文主要是介绍MicroPython 库 —— 快速上手ujson,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- MicroPython 库 —— 快速上手ujson
- JSON基础介绍
- 1. 什么是Json?
- 2. 具体使用例子
- 2.1 JSON对象例子
- 2.2 JSON对象数组
- ujson库
- dumps —— 字典或者列表转换成json字符
- dump —— json字符写入文件
- loads —— 将json字符串数据转换为字典或列表
- load —— 将文件json数据转换为字典或列表
MicroPython 库 —— 快速上手ujson
JSON基础介绍
1. 什么是Json?
- Json 指的是JavaScript对象表示法(JavaScript Object Notation)。
- Json 是轻量级的文本数据交换格式,类似于XML,比XML更小、更快,更容易解析。
- Json 独立于语言。
- Json 具有自我描述性,容易理解。
2. 具体使用例子
2.1 JSON对象例子
JSON对象描述:
{ "motor": { "left": 100, "right": 20 }, "servo": { "servo_1": 90 } }
JSON对象语法说明:
- 这里分别有两个对象(对象是用{}区分),对象分别是motor、servo。
- 对于对象motor来说,有两个字段 left 和 right,它们的值类型是int型,值分别是100和20;
- 对于对象servo来说,有一个字段servo_1,它的值类型是int型,值是90。
2.2 JSON对象数组
JSON数组描述:
{ "employees": [ { "firstName": "Bill", "lastName": "Gates" }, { "firstName": "George", "lastName": "Bush" }, { "firstName": "Thomas", "lastName": "Carter" } ] }
JSON数组语法说明:
- 这里有一个对象数组(数组用[]区分)employees。
- 每个对象里面有两个字段firstName和lastName,它们的值类型都是String。
重点:
- 无论是JSON对象还是JSON数组,它们的核心都是键值对,也就是key-value形式。
ujson库
该模块允许Python对象和JSON数据格式之间的转换
>>> import ujson >>> help(ujson) object <module 'ujson'> is of type module __name__ -- ujson dump -- <function> dumps -- <function> load -- <function> loads -- <function>
这里有4个函数:
dump
dumps
(将Python的字典数据转换成json字符,数据的最外面都添加一层""变为字符串,这也是数据的序列化
步骤)load
loads
(将json字符串数据转换为字典或列表(去掉外面一层""),这个也是反序列化
的步骤)
.dump()和.load()主要用来读写json文件函数
dumps —— 字典或者列表转换成json字符
- 将Python的字典数据转换成json字符,数据的最外面都添加一层""变为字符串,这也是数据的序列化步骤
例子1:
# 导入模块 import ujson # 构造字典 data = { 'id': 1, 'name': 'test1', 'age': '1' } json_str1 = ujson.dumps(data) print(type(json_str1),json_str1)
打印结果:
>>> %Run -c $EDITOR_CONTENT <class 'str'> {"name": "test1", "id": 1, "age": "1"} >>>
例子2:
# 导入模块 import ujson # 构造列表 data1 = [{ "id": 1, "name": "test1", "age": "1" }, { "id": 2, "name": "test2", "age": "2" }] # python列表类型转换为json字符串 json_str2 = ujson.dumps(data1) print(type(json_str2),json_str2)
打印结果:
>>> %Run -c $EDITOR_CONTENT <class 'str'> [{"name": "test1", "id": 1, "age": "1"}, {"name": "test2", "id": 2, "age": "2"}] >>>
dump —— json字符写入文件
例子:
# 导入模块 import ujson import os list = ['Apple', 'Huawei', 'selenium', 'java', 'python'] # 写入文件,json.txt文件最初是空白文件 with open('json.txt', 'w') as f: ujson.dump(list, f) # 读取文件 with open('json.txt', 'r') as f: print(f.read())
打印结果:
>>> %Run -c $EDITOR_CONTENT ["Apple", "Huawei", "selenium", "java", "python"] >>>
loads —— 将json字符串数据转换为字典或列表
- 将json字符串数据转换为字典或列表(去掉外面一层""),这个也是反序列化的步骤。
例子1:
# 导入模块 import ujson # 构造字典 data = '''[{ "id": 1, "name": "test1", "age": "1" }, { "id": 2, "name": "test2", "age": "2" }]''' # json字符串转为python列表类型 json_str1 = ujson.loads(data) print(type(json_str1),json_str1) print(json_str1[0]['id']) print(json_str1[0]['name']) print(json_str1[0]['age'])
打印结果:
>>> %Run -c $EDITOR_CONTENT <class 'list'> [{'id': 1, 'name': 'test1', 'age': '1'}, {'id': 2, 'name': 'test2', 'age': '2'}] 1 test1 1 >>>
例子2:
# 导入模块 import ujson # 构造字典 data = '''{ "id": 1, "name": "test1", "age": "1" }''' # json字符串转为python列表类型 json_str1 = ujson.loads(data) print(type(json_str1),json_str1) print(json_str1['id']) print(json_str1['name']) print(json_str1['age'])
打印结果:
>>> %Run -c $EDITOR_CONTENT <class 'dict'> {'id': 1, 'name': 'test1', 'age': '1'} 1 test1 1 >>>
load —— 将文件json数据转换为字典或列表
例子:
# 导入模块 import ujson import os # 读取文件 with open('json.txt', 'r') as f: result = ujson.load(f) print(result)
打印结果:
>>> %Run -c $EDITOR_CONTENT ['Apple', 'Huawei', 'selenium', 'java', 'python'] >>>
本章内容相对比较简单易懂,不需要花费太多时间,希望各位同学可以拷贝一下源码去玩玩。
这篇关于MicroPython 库 —— 快速上手ujson的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程