import ujson
dict = {} #创建一个空字典
dict["deviceType"] = "Temperature" #对字典赋值
dict["values"] = [23,22,25]
print(dict) #校验一下创建的情况,用来跟json对比格式。
print("++++++++++++++++++++++++++++")
encoded = ujson.dumps(dict) #把字典编码成json
print(encoded)
print("****************************")
prase=ujson.loads(encoded) #把json转成字典
#如果要手动输入字符串,要用\对引号转义
prase=ujson.loads("{\"values\": [23, 22, 25], \"deviceType\": \"Temperature\"}")
print(prase)
运行结果
>>> %Run -c $EDITOR_CONTENT
{'values': [23, 22, 25], 'deviceType': 'Temperature'}
++++++++++++++++++++++++++++
{"values": [23, 22, 25], "deviceType": "Temperature"}
****************************
{'deviceType': 'Temperature', 'values': [23, 22, 25]}
>>>
首先是心路历程,看了网上的说法都是说用ujson来解析,用模拟器提示说没有库,特意找库又说版本不适合mpy,后来烧录进esp32,发现这是系统自带的库。
然后是json,还从来不知道这是啥缩写,JSON(JavaScript Object Notation) ,原来是js的原生代码格式。
总之,调用库都还比较简单。下一步试试如果json字符串传输时丢失字符,mpy会如何报错。
python中json.load()是用来读取整个文本文件,json.loads(),用来读取一个字符串。