找回密码
 立即注册

QQ登录

只需一步,快速开始

Mr.Hu

金牌服务用户

33

主题

148

帖子

435

积分

金牌服务用户

积分
435
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 08:12  /   查看:830  /  回复:11
本帖最后由 Brian.Zhang 于 2024-8-22 10:31 编辑

     我用的版本是9.0.103,活字格服务端命令的参数类型目前支持两种类型,基础类型和数组类型,其中数组类型的参数感觉功能强大,可以传入一个预先定义JSON结构的JSON数组,然后由服务端命令逻辑处理后,返回一个JSON数组,使用比较方便。问题来了,如果我传入的是一个JSON对象,不是数组,那参数类型只能选择基础类型,由于该对象的JSON结构未知,那就得安装JSON序列化和反序列化插件,然后将传入的JSON结构模板复制到反序列化里,过一遍序列化和反序列化进行解析,这样才能在后续的操作中使用这个JSON对象,感觉操作很麻烦啰嗦。我感觉服务端命令完全可以增加一个JSON对象的参数类型,像JSON数组那样可以预先定义JSON结构,这样就不需要序列化和反序列化了,给使用者提供方便。当然,我们也可以把JSON对象包装成JSON数组,然后将对象转换成数组传入,但这样又给使用者增加了转换的工作量,也不妥当。
    综上所述,我的观点是服务端命令增加一个JSON对象的参数类型,啥事也没有了。从技术难度上,我作为外行感觉是没难度的,JSON数组都可以传入,JSON对象当然没有问题。


11 个回复

倒序浏览
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 08:24:14
沙发
更进一步的,我觉得干脆不需要分参数类型,参数传入后,活字格自动解析,到底是基础类型还是JSON数组,或者是JSON对象,也不需要事先定义JSON结构。确定类型后,后台自动给出解析结果,给服务端命令使用,这样才显示出活字格的强大哈。个人观点仅供参考。
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-8-21 08:26:56
板凳
任何网络请求发给服务段的只能市字符串,对象是内存里的,你想保存到磁盘里也要序列化成字符串,对象是不能直接发送到服务端的,任何软件都是如此
回复 使用道具 举报
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 08:29:50
地板
不是吧,参数类型是JSON数组类型,JSON数组里的元素是JSON对象,你说这算支持还是不支持对象传入?
回复 使用道具 举报
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 08:31:21
5#
当然传入的方式活字格肯定做了处理,名义上叫对象,但人家后台做了处理,我们纠结这些概念上的干啥
回复 使用道具 举报
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 08:51:10
6#
我理解lovert大神说的是传统编程意义上的规则,错是没错,对象得保存在内存里,内存还有看对象类型,哪些放托管区,哪些放非托管区,这样探讨就不用讨论活字格了,直接编程吧。但这是平台,平台就是颠覆和创新,实业主义,叫啥不重要,能提高开发效率就是平台的宗旨,对吧?
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-8-21 11:27:09
7#
问题是设计的时候服务端压根就不知道你JSON对象的结构,你自己还是要在服务端设置结构层次,相当于你还是要手动设置反序列化,服务端和前端是两台电脑
回复 使用道具 举报
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 11:29:04
8#
活字格的服务端命令参数里,服务端的JSON数组可以事先设置结构的,不用解析。不知道你用过没,那个设置很方便的。
回复 使用道具 举报
Mr.Hu
金牌服务用户   /  发表于:2024-8-21 11:30:47
9#
当然只是简单层级的JSON数组哈,复杂结构的估计不行,不过一般也用不到。实在不行,可以考虑序列化和反序列化插件的功能。
回复 使用道具 举报
Brian.Zhang
超级版主   /  发表于:2024-8-22 10:30:48
10#
如楼上大佬所说,此处当前只会考虑的基础类型、数组类型,如果有json相关需求,还是建议配合JSON序列化和反序列化插件来使用哈
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部