强烈吐槽传大段嵌套 JSON 格式请求,各位大神怎么看?

2016-07-20 21:33:23 +08:00
 sunmonster

最近公司开发一个 Web 新项目,就两个开发,一个前端加上我后端 PHP 开发,前端要求前后端分离,我只负责提供 api ,这倒是无所谓,但是他所有的请求都要求是 JSON 格式,我就有点受不了了。我倒是无所谓 JSON 还是 XML ,关键是一大段的 JSON ,嵌套 3 , 4 层,包含各种数组,布尔值发送过来,这叫我后端怎么做验证?我之前是提议直接 K/V 形式, JSON 的话至少不要嵌套这么多,他说数据量太多, JSON 方便,嵌套是为了更好地组织结构,不然干嘛传 JSON 。

卧槽,各位大神怎么看?

15134 次点击
所在节点    程序员
100 条回复
ferock
2016-07-21 09:00:47 +08:00
@ChefIsAwesome 当沟通出问题的时候,你需要升级问题。领导又不是摆设
lxguidu
2016-07-21 09:01:30 +08:00
对这种自由格式的数据,一定要订好规则,要不然累死。
amon
2016-07-21 09:17:45 +08:00
json 不是典型的 K/V 结构嘛?
格式简单、参数和值一目了然、可扩展强,目前应该是主流的 http 请求 /响应数据格式吧。

另外这种工作问题,解铃还须系铃人,最好还是当面和他沟通清楚就行。
Felldeadbird
2016-07-21 09:19:07 +08:00
设计和沟通问题啊。为什么前端会一次性发这么大的 json 结构。去和他说一下。
aksoft
2016-07-21 09:20:38 +08:00
这东西还用问前端?他只告诉你他需要什么东西,你给他,数据结构是你定的。有些东西是不能动的,说别的都是扯淡。
herozzm
2016-07-21 09:20:46 +08:00
没明白 LZ 到底吐槽什么, json 和前端交换,后端没法保证他们提交过来的数据是你理想中的吧,你管接收和输出即可,那么多话干什么
iyangyuan
2016-07-21 09:24:08 +08:00
没办法,从某种意义上来说,这也是程序员工作的一部分,甚至是一大部分
wizardoz
2016-07-21 09:25:43 +08:00
楼主你需要的是 json schema
honam
2016-07-21 09:27:51 +08:00
没什么问题吧。。。
likai
2016-07-21 09:28:07 +08:00
@qiayue php 处理 JSON 有 JS 方便?
qiayue
2016-07-21 09:30:50 +08:00
@likai 这个不争论了
Light3
2016-07-21 09:39:08 +08:00
三四层还好吧 都带上 KEY 别 0 1 2 3.
ghostsf
2016-07-21 09:49:54 +08:00
前端是产品经理吗?
penjianfeng
2016-07-21 09:59:32 +08:00
嵌套太多肯定是很坑的的一件事,尤其是像 php 这类弱类型,当年我也是吃了不少坑,如果用了 go,解析 json 杠杠的,哈哈,字段类型不行解析都通不过,我直接报错了,省了好多代码,哈哈哈哈
tairan2006
2016-07-21 10:12:49 +08:00
json 确实不如 xml 好做校验,不过也还好吧。。别设计太多层啊
reus
2016-07-21 10:14:31 +08:00
有这样的前端,后端不知道多省功夫,连 api 都不用你想。
当然, po 主水平不足,享受不了了。
chairuosen
2016-07-21 10:29:41 +08:00
我觉得是你的问题
chztv
2016-07-21 10:37:54 +08:00
其实二三层的 json 还是挺多的,我们公司的后端都是文稿接口,简单和文稿里包含各类媒体文件,图片、视频等,图片有自己的服务器,视频也有,当文稿中一插入媒体文件,这 json 的层级马上就上去了,一个图片还会包括各种参数的,URL 地址的拼接(照我的意思直接返回一个 URL 不是很简单,但当时设计的人光一个 URL 就返回 N 个 Key ,什么 path filename server ,一定要在前端自己拼,一张图片还好,但往往一篇文稿几个图,十几个图真是),唉……
当然前端都已经写了方法,这些都不是问题
w99wen
2016-07-21 10:41:46 +08:00
楼主你用 MJExtension 配合 json 解析出来的数据。很方便的
Patrick95
2016-07-21 10:41:50 +08:00
我觉得 json 很多层很正常啊,我之前用过豆瓣的 API ,他返回的 json 就好几层。

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

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

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

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

© 2021 V2EX