怎么看待请求参数 JSON 数据包里再包 JSON 数据

2022-10-27 10:32:03 +08:00
 Aluhao
请求数据结构如下:

{"id":"100","time":1666320790000,"validate":"cc2ac65f816faf49f7e","data":"{\"reqid\":\"\",\"taskid\":\"\",\"sid\":\"B464AA\",\"atuser\":null,\"content\":{\"type\":1,\"text\":\"{\\\"text\\\":\\\"000\\\"}\"}}"}

这样的设计大家有什么看法?
6517 次点击
所在节点    程序员
64 条回复
xtinput
2022-10-27 10:34:00 +08:00
没毛病
vagusss
2022-10-27 10:34:49 +08:00
这是把 data 里的数据结构序列化成字符串了吧.
chendy
2022-10-27 10:35:46 +08:00
目测接口会取 json 里面的 json 单独再做一次反序列化
没啥看法,调就行了,有空就简单封装一下让这层在客户端不可见就是
wangtian2020
2022-10-27 10:37:42 +08:00
别提啥设计了,之前帮领导朋友去他们公司干几天活,他们公司技术部长亲自下场写代码,返回的接口全是我要 JSON.parse 一遍的字符串 JSON 。大胆一点,就是菜!
liyang5945
2022-10-27 10:40:09 +08:00
formData 里套 json 的我都见过
infun
2022-10-27 10:40:53 +08:00
作为测试,我想说,这种行为 非常之 SB
但还是经常遇到
7gugu
2022-10-27 10:41:03 +08:00
能跑就行
Aluhao
2022-10-27 10:46:08 +08:00
@chendy 请求的数据包,JSON 里加 JSON ,还得正确系列化,少一个 / 都是不行。
kaedeair
2022-10-27 10:48:36 +08:00
有时候要保持数据结构一致性,不得已的做法
ospider
2022-10-27 10:52:04 +08:00
k8s 的 yaml 不久经常有么……
AoEiuV020CN
2022-10-27 10:58:30 +08:00
常见,易用,丑,
hronro
2022-10-27 10:59:50 +08:00
说正常的大概是自己也经常写这种屎代码?
jeesk
2022-10-27 10:59:59 +08:00
没办法的事, 谁想这么搞?
bubble21
2022-10-27 11:00:48 +08:00
抖音就是这么干的
lessMonologue
2022-10-27 11:02:12 +08:00
@hronro 那优雅的写法是什么呢?
muyiluop
2022-10-27 11:04:31 +08:00
我跟你看法一样,跟上面以及下面的人看法也相同
YepTen
2022-10-27 11:10:09 +08:00
有时需要进行签名,签名与验签需要保持 key 的顺序不变。而某些 JSON 解析框架(对,就是你 Fastjson )会自动排序你的 key ,导致不一致。整成个字符串好一些,也就这个场景下有点好处。
tedzhou1221
2022-10-27 11:18:13 +08:00
有些功能就这样,它只负责第一层数据,至于 data 里的是什么,它不管,它会把 data 的内容向下传递。
missdeer
2022-10-27 11:20:04 +08:00
大胆一点,就是菜。不一定是写这个的人菜,也可能是他依赖的某个接口的作者菜。
crysislinux
2022-10-27 11:27:55 +08:00
> 有些功能就这样,它只负责第一层数据,至于 data 里的是什么,它不管,它会把 data 的内容向下传递。

一般这种用法就是上面说的这种情况。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/890284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX