递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 529|回复: 2
打印 上一主题 下一主题

[视窗] 求助json问题:易语言的json怎么在火山上实现

[复制链接]

1

主题

44

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
跳转到指定楼层
楼主
发表于 2025-9-28 19:59:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
.版本 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这里了,找了很久不懂怎么写



回复

使用道具 举报

29

主题

2567

帖子

9051

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9051
沙发
发表于 2025-9-28 21:11:05 | 只看该作者
我无法测试,有问题你自己改


<火山程序 类型 = "通常" 版本 = 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)
            }
        }
    }
}
回复

使用道具 举报

1

主题

44

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
板凳
 楼主| 发表于 2025-9-29 00:00:29 | 只看该作者
Xelloss0618 发表于 2025-9-28 21:11
我无法测试,有问题你自己改

可以了,终于解决了,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-10-14 23:14 , Processed in 0.090024 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表