EasyCVRpython调接口报错cannot unmarshal array into Go value of type main

目前我们的EasyCVR正在开发关于AI智能识别和分析的相关内容,很多用户也对我们AI的实现方式和功能比较好奇,但该版本目前还在内测和调整中,暂未上线。我们仍然会不定期分享我们对于AI智能分析的实现过程,因此如果大家感兴趣可以关注我们。

在智能分析上,我们使用python进行车牌识别,方法是写个python http接口,用go去调python车牌识别接口,但是在拿到数据进行转换时,出现如下错误(json: cannot unmarshal array into Go value of type main.LPRData),并没有信息打印。

分析问题:

1、检查在代码中调用接口是否返回请求接口代码

打印数据:

说明请求http接口成功。

2、在把json字符串转换struct,定义如下:

转换函数如下:

3、我们猜测这个函数是不是不能转换,因此再写个测试转换的函数。代码如下:

测试结果如下:

结论:json.Unmarshal可以转换成struct

4、经过研究我们了解到,在请求http拿到的数据时,此数据是一个数组,所以转换的时候是错误的,要把转换后的代码也改成数组才行。

结果也可以在控制台输出:

拓展:

EasyCVR智能视频监控平台以互联网平台为依托,以数字化和信息化为发展方向,通过计算机视觉技术对视频进行智能分析和处理,在无人条件下进行全程自动化的监控。如果大家想深入了解EasyCVR平台,欢迎获取测试帐号进行测试。

原文地址:https://www.cnblogs.com/TSINGSEE/p/15040681.html