# OpenMV与JSON编码问题分析

> 作者/来源: UCloud 运营管理员
> 发布时间: 2023-01-14T03:04:00.000Z
> 分类: 其他
> 标签: 数据库, Python, Java
> 原文链接: http://117.50.162.249:3000/yun/articles/617

---

# OpenMV与JSON编码问题分析

> 来源: https://www.ucloud.cn/yun/130284.html
> 作者: 89542767
> 发布日期: 发布于2023-01-14 11:04

文中关键阐述了OpenMV与JSON编号,JSON是一类简约高效率的互换数据库的文件格式，文中根据实例编码为大家介绍得十分详尽，对大家学习培训和工作具有很强的参照参考意义，所需要的好朋友借鉴一下吧

　　JSON

　　如果你想迅速勇于尝试2个单片机设计通讯的。建议使用串口通信传送json字符串数组！

　　JSON是一类简约高效率的互换数据库的文件格式。它能够就是这种简单：

```
　　"[[12,0],[10,12],[22,10],[99,11]]"
```

　　注：我通过各种简单字符串数组，把OpenMV里的图形的x，y坐标推送出来。

　　还可以是这类繁杂的：

　　在python中指出多做字符串数组：

```
　　'''
　　{
　　"number":10,
　　"color":[255,0,0],
　　"rate":0.65
　　}
　　'''
```

　　我使用这个构造把OpenMV收集到颜色信息通知到wifi中服务器中。

　　甚至是，能够像这样的：

```
　　'''
　　{
　　"firstName":"John",
　　"lastName":"Smith",
　　"sex":"male",
　　"age":25,
　　"address":
　　{
　　"streetAddress":"212ndStreet",
　　"city":"NewYork",
　　"state":"NY",
　　"postalCode":"10021"
　　},
　　"phoneNumber":
　　[
　　{
　　"type":"home",
　　"number":"212555-1234"
　　},
　　{
　　"type":"fax",
　　"number":"646555-4567"
　　}
　　]
　　}
　　'''
```

　　注意：json的形式和Python很像，但是json是javascript的对象表达形式，和python的表达形式稍有不同。

　　ujson–JSON编号与解密

　　OpenMV内嵌的json控制模块容许Python目标和JSON数据类型间的变换

　　Python形成JSON

　　OpenMV有json的控制模块，json.dumps(obj)和ujson.loads(str)能够很容的形成json字符串数组和分析json字符串数组。

```
　　importjson
　　obj=[[12,0],[10,12],[22,10],[99,11]]
　　print(json.dumps(obj))
　　obj={
　　"number":10,
　　"color":[255,0,0],
　　"rate":0.65
　　}
　　print(json.dumps(obj))
```

　　并把字符串数组根据串口发送出来，之后在另一边，把json字符串数组分析成目标／二维数组。然后再进行接下来逻辑性实际操作。

　　会导出：

```
　　'[[12,0],[10,12],[22,10],[99,11]]'
　　'{"color":[255,0,0],"number":10,"rate":0.65}'
```

　　常用函数

　　形成JSON字符串数组

　　ujson.dumps(obj)

　　回到表明为JSON字符串数组的obj。

　　分析JSON字符串数组

　　ujson.load(stream)

　　分析给出的stream，把它理解为JSON字符串数组并将它们反序列化为Python目标。返回结果目标。

　　分析持续到到文档完毕end-of-file。假如stream里的数据类型有误，ValueError要被开启。

　　分析JSON目标

　　ujson.loads(str)

　　分析JSONstr并回到一个对象。若该字符串数组未恰当排序，往往会引起示值误差。

　　综上所述，这篇文章就给大家介绍到这里了，希望可以给大家带来帮助。