OpenMV与JSON编码问题解析

 更新时间:2022年06月23日 09:42:35   作者:Lionetxx  
这篇文章主要介绍了OpenMV与JSON编码,JSON是一种简洁高效的交换数据的格式,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

JSON

如果想快速尝试两个单片机通信的。推荐使用串口传输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": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021"
  },
  "phoneNumber": 
  [
    {
      "type": "home",
      "number": "212 555-1234"
    },
   {            
      "type": "fax",
      "number": "646 555-4567"
    }
  ]
}
'''

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

ujson – JSON编码与解码

OpenMV内置的json模块允许Python对象和JSON数据格式之间的转换

Python生成JSON

OpenMV有json的模块,json.dumps(obj)ujson.loads(str)可以很容的生成json字符串和解析json字符串。

import json

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)

解析JSON str 并返回一个对象。若该字符串未正确排列,则会引发示值误差。

到此这篇关于OpenMV与JSON编码的文章就介绍到这了,更多相关OpenMV与JSON编码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用protobuf序列化和反序列化的实现

    Python使用protobuf序列化和反序列化的实现

    protobuf是一种二进制的序列化格式,相对于json来说体积更小,传输更快,本文主要介绍了Python使用protobuf序列化和反序列化的实现,感兴趣的可以了解一下
    2021-05-05
  • 利用Python requests库爬取高德地图全国地铁站点信息

    利用Python requests库爬取高德地图全国地铁站点信息

    requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库,它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,这篇文章主要介绍了利用Python requests库爬取高德地图全国地铁站点信息,需要的朋友可以参考下
    2024-03-03
  • pycharm中使用request和Pytest进行接口测试的方法

    pycharm中使用request和Pytest进行接口测试的方法

    这篇文章主要介绍了pycharm中使用request和Pytest进行接口测试的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Python实现推送百度链接的示例代码

    Python实现推送百度链接的示例代码

    有时为了提高搜索效率,也让搜索引擎更容易发现自己的文章,我们需要将文章链接推送到百度站长平台,起到快速收录的目的。本文将主要介绍如何通过Python实现这一功能,需要的可以参考一下
    2021-12-12
  • 用Python绘制漫步图实例讲解

    用Python绘制漫步图实例讲解

    在本篇文章里小编给大家整理的是一篇关于用Python绘制漫步图实例讲解内容,需要的朋友们可以学习下。
    2020-02-02
  • PyQt5+QtChart绘制散点图

    PyQt5+QtChart绘制散点图

    QChart是一个QGraphicScene中可以显示的QGraphicsWidget。本文将利用QtChart实现绘制散点图,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-12-12
  • python 接口测试response返回数据对比的方法

    python 接口测试response返回数据对比的方法

    本篇文章主要介绍了python 接口测试response返回数据对比的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • python 包之 APScheduler 定时任务

    python 包之 APScheduler 定时任务

    这篇文章主要介绍了python 包之 APScheduler 定时任务,文章基于python的相关资料展开主题内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • 如何使用Python VTK高亮显示actor

    如何使用Python VTK高亮显示actor

    这篇文章主要介绍了如何使用Python VTK高亮显示actor,通过Python-VTK在同一个窗口中,高亮显示选中的actor。本例子中的代码,当窗口中的圆球actor被选中时,会变成红色,并且会显示actor三遍面片边缘信息,下文相关内容需要的小伙伴可以参考一下
    2022-04-04
  • 深入理解Python内置函数map filter reduce及与列表推导式对比

    深入理解Python内置函数map filter reduce及与列表推导式对比

    这篇文章主要为大家介绍了Python内置函数map filter reduce及与列表推导式对比方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论