找回密码
 立即注册

QQ登录

只需一步,快速开始

chenjamo
金牌服务用户   /  发表于:2022-4-2 16:10  /   查看:2307  /  回复:14
1金币
遇到一个情况,后台表一个字段是文本字段,但实际存储的是一串数值,位数超过了15位以上,(这个字段如果设置为整数的话无法使用,所以只能设置为文本)
调用服务端命令要执行API操作,在发送HTTP请求命令的时候只有值类型是数值的时候不会出错
所以需要将这串文本进行转换,在转换的时候就会出错,当使用value转换文本为数值的时候,由于超过15位,后续的就会显示为0

遇到这种的请问有解决的方法?

在调试服务端命令的时候直接输入超过15位内容的时候,服务端命令是可以正确执行的



最佳答案

查看完整内容

很好解决,方法如下: 直接设置变量然后拼接一下[]即可。 补充一下,如果需要用复合结构并且勾选了json序列化的话,只要再加个json反序列化命令即可 欢迎老铁设置最佳3连~

14 个回复

倒序浏览
最佳答案
最佳答案
15725821270悬赏达人认证 活字格认证
银牌会员   /  发表于:2022-4-2 16:10:57
来自 10#
本帖最后由 15725821270 于 2022-4-7 11:11 编辑

很好解决,方法如下:
直接设置变量然后拼接一下[]即可。


补充一下,如果需要用复合结构并且勾选了json序列化的话,只要再加个json反序列化命令即可


欢迎老铁设置最佳3连~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 2金币 +5 满意度 +5 收起 理由
Lay.Li + 5 赞一个!
chenjamo + 5

查看全部评分

回复 使用道具 举报
嗷嗷叫
初级会员   /  发表于:2022-4-2 16:55:26
2#
从你的描述看,这个字段就是文本嘛。不太清楚为啥

“在发送HTTP请求命令的时候只有值类型是数值的时候不会出错”

HTTP请求命令的参数类型不是可以配置的吗。

一般大数处理都是要使用文本表示,这个没毛病
回复 使用道具 举报
chenjamo
金牌服务用户   /  发表于:2022-4-2 17:24:52
3#
嗷嗷叫 发表于 2022-4-2 16:55
从你的描述看,这个字段就是文本嘛。不太清楚为啥

“在发送HTTP请求命令的时候只有值类型是数值的时候不 ...

因为服务端命令中使用发送http请求命令的时候字段的格式是[123]这样的格式,如果是文本的话就会变成["123"],结果调用API失败
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-2 18:14:57
4#
本帖最后由 Lay.Li 于 2022-4-2 18:16 编辑

感谢各位大佬的支持~
您好,您是发送http命令的时候需要在请求体中使用数值类型的变量了吗。能不能发送文本类型的数据在api中去处理呢,活字格中数字字段超出15为的部分确实会清理,如果需要这个功能的话,可能需要写代码去请求对应的api。方便的话建议您可以发一个demo上来,这样我们也可以更好的帮助到您
回复 使用道具 举报
chenjamo
金牌服务用户   /  发表于:2022-4-4 08:53:19
5#
Lay.Li 发表于 2022-4-2 18:14
感谢各位大佬的支持~
您好,您是发送http命令的时候需要在请求体中使用数值类型的变量了吗。能不能发送文 ...

抱歉,由于这边调用的是腾讯企业邮箱的API,无法提供具体的demo,以下是他们的开放文档
https://exmail.qq.com/qy_mng_logic/doc#10014
这里面我调试过部门ID确实是需要转换成数值,同时他们默认创建出来的部门ID有19位,你们是否可以这样,你们能否弄一个demo,传入的是19位的文本内容,然后在服务端中转换成19位的数值?
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-6 09:43:36
6#
您好,这边用百度的地址测试了一下。发现文本类型和整数类型的结果并没有什么区别哈。都是不带双引号的,您说的文本类型是带双引号的,然后要去转换他的值为数值类型的,时怎样去操作的呢。能不能就光发一个这个的demo让我们了解到您是如何操作的呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
chenjamo
金牌服务用户   /  发表于:2022-4-6 10:19:42
7#
本帖最后由 chenjamo 于 2022-4-6 10:41 编辑
Lay.Li 发表于 2022-4-6 09:43
您好,这边用百度的地址测试了一下。发现文本类型和整数类型的结果并没有什么区别哈。都是不带双引号的,您 ...

抱歉由于涉及到corpid与corpsecret,所以没办法直接上传demo,如果是直接一个类似demo的话无法说明情况,所以先说下我根据您截图引出来的一些东西:
看了下您这个截图,发现部门id是在服务端命令中通过设置变量的方式设置进去的,但是由于这个ID是在前台选择后通过参数的方式要传输到命令中,所以就会出现文本与数值的问题至少这个倒是让我想到了另外的一个办法来解决,就是传输的参数设置改成另外一个,然后在服务端命令设置变量的时候通过查询的方式设置部门ID(这个我后续测试下,可能要修改一些方案)

然后给出我这边说的文本与数值输入
  文本输入,提示输入的不合法


数值输入,与成功提醒,及内容



就是多一个“”,数值与文本的问题


另:测试了下我在这个里面说的通过查询的方式设置部门ID,由于超过15位,所以在表中部门ID是文本字段,查询出来然后设置变量,也是出现错误提示,提示输入的不合法,和上面第一个图是一样的内容



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-6 14:09:22
8#
您好,因为js中的数值类型最大就是15位的,所以活字格在设计时超过15位的数据都会被舍弃。不过从前端传入的超过15位的字符串是可以通过设置变量命令在后端转为数字处理的。给您做了一个demo,您可以参考参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
chenjamo
金牌服务用户   /  发表于:2022-4-7 08:04:08
9#
本帖最后由 chenjamo 于 2022-4-7 08:11 编辑
Lay.Li 发表于 2022-4-6 14:09
您好,因为js中的数值类型最大就是15位的,所以活字格在设计时超过15位的数据都会被舍弃。不过从前端传入的 ...

您好,我看了下您发的demo,发送http请求的时候您的类型是值或公式,然后我这边需要设置的是复合结构,这样的话就会出现我说的情况附带两张截图以及修改后的demo


以下是我实际设置中的结构

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部