递归火山软件开发平台
标题:
求助json问题:易语言的json怎么在火山上实现
[打印本页]
作者:
gxfc900
时间:
2025-9-28 19:59
标题:
求助json问题:易语言的json怎么在火山上实现
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
umiocr (“C:\22.jpg”)
.子程序 umiocr, , ,
.参数 文件路径, 文本型
.局部变量 网址, 文本型
.局部变量 方式, 整数型
.局部变量 结果, 文本型
.局部变量 提交数据, 文本型
.局部变量 协议头, 文本型
.局部变量 body_base64, 文本型
.局部变量 json, 类_json
.局部变量 code, 整数型
.局部变量 data, 类_json
.局部变量 循环变量, 整数型
.局部变量 识别到的文本, 文本型
.局部变量 文本左上x, 文本型
.局部变量 文本左上y, 文本型
.局部变量 文本右下x, 文本型
.局部变量 文本右下y, 文本型
body_base64 = 编码_BASE64编码 (读入文件 (文件路径))
网址 = “
http://192.168.1.13:1224/api/ocr
”
方式 = 1
协议头 = “Content-Type: application/json”
提交数据 = “{” + #引号 + “base64” + #引号 + “:” + #引号 + body_base64 + #引号 + “}”
结果 = 到文本 (网页_访问 (网址, 方式, 提交数据, , , 协议头, ))
.如果真 (json.解析 (结果))
code = json.取属性数值 (“code”)
.如果真 (code = 100)
data = json.取属性 (“data”)
.计次循环首 (data.成员数 (), 循环变量)
.如果真 (json.解析 (data.取成员 (循环变量 - 1).取数据文本 ()))
识别到的文本 = json.取属性对象 (“text”)
.如果真 (json.解析 (json.取属性 (“box”).取数据文本 ()))
文本左上x = json.取成员 (0).取成员 (0).取数据文本 ()
文本左上y = json.取成员 (0).取成员 (1).取数据文本 ()
文本右下x = json.取成员 (2).取成员 (0).取数据文本 ()
文本右下y = json.取成员 (2).取成员 (1).取数据文本 ()
调试输出 (“识别到的文本为:”, 识别到的文本, “,文本范围为:”, 文本左上x, 文本左上y, 文本右下x, 文本右下y)
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真结束
.如果真结束
上面是易语言代码
这是Umi-OCR的对接代码只找到易语言的教程,
想知道怎么在火山上实现,卡在json这里了,找了很久不懂怎么写
作者:
Xelloss0618
时间:
2025-9-28 21:11
我无法测试,有问题你自己改
<火山程序 类型 = "通常" 版本 = 1 />
方法 umiocr <公开 静态>
参数 文件路径 <类型 = 文本型>
{
变量 网络 <类型 = 网络访问类>
变量 请求头 <类型 = 文本数组类>
变量 json <类型 = JSON对象类>
变量 访问响应 <类型 = 网页访问响应类>
请求头.加入成员 ("Content-Type: application/json")
json.置入文本值 ("base64", 读入文件 (文件路径).字节集到BASE64文本 (BASE64编码方式.标准, -1))
访问响应 = 网络.网页访问2 ("http://192.168.1.13:1224/api/ocr", 网页访问方式.POST, json.到字节集 (假, 真), 请求头)
如果 (json.创建自字节集 (访问响应.请求结果) == 真)
{
如果 (json.取整数值 ("code") == 100)
{
变量 data <类型 = JSON数组类>
json.取数组值 ("data", data)
计次循环 (data.成员数)
{
变量 识别到的文本 <类型 = 文本型>
变量 文本左上x <类型 = 文本型>
变量 文本左上y <类型 = 文本型>
变量 文本右下x <类型 = 文本型>
变量 文本右下y <类型 = 文本型>
识别到的文本 = data.取路径文本值 ("//[" + 到文本 (取循环索引 ()) + "].text")
文本左上x = data.取路径文本值 ("//[" + 到文本 (取循环索引 ()) + "].box.[0].[0]")
文本左上y = data.取路径文本值 ("//[" + 到文本 (取循环索引 ()) + "].box.[0].[1]")
文本右下x = data.取路径文本值 ("//[" + 到文本 (取循环索引 ()) + "].box.[1].[0]")
文本右下y = data.取路径文本值 ("//[" + 到文本 (取循环索引 ()) + "].box.[1].[1]")
调试输出 ("识别到的文本为:", 识别到的文本, ",文本范围为:", 文本左上x, 文本左上y, 文本右下x, 文本右下y)
}
}
}
}
作者:
gxfc900
时间:
2025-9-29 00:00
Xelloss0618 发表于 2025-9-28 21:11
我无法测试,有问题你自己改
可以了,终于解决了,谢谢
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4