为什么别人家返回的 json 字符串是自带格式化效果的, 而我的就是一坨长串?

2016-06-27 10:45:17 +08:00
 chineselittleboy

这是别人家的:

这是我家的:

7869 次点击
所在节点    问与答
45 条回复
slixurd
2016-06-27 10:53:16 +08:00
很多 JSON 库都自带 beautify 参数
justfly
2016-06-27 10:56:49 +08:00
说明你的比人家的优化的好
Ouyangan
2016-06-27 10:57:40 +08:00
chrome 插件:JSON-handle
chineselittleboy
2016-06-27 11:05:24 +08:00
@justfly 人家的好看
abelyao
2016-06-27 11:08:47 +08:00
我觉得 json 应该保持数据本身的纯粹性,如果是我,我会选择你家的那种,至于接收方要怎么美化查看,是另一回事
zenxds
2016-06-27 11:09:48 +08:00
返回就直接格式化好了,比如 JSON.stringify(response, null, 4)
chairuosen
2016-06-27 11:11:06 +08:00
chrome 插件 json formatter
allce231
2016-06-27 11:38:59 +08:00
json 本身就是字符串
SuperMild
2016-06-27 11:43:33 +08:00
数据传输时还是一坨的好,要看内容时各自处理。
ango
2016-06-27 12:04:39 +08:00
header json 声明即可
Infernalzero
2016-06-27 12:08:53 +08:00
看你用什么方式转换成 JSON 返回了
如果用别人造的轮子的话,一般都会提供"features"参数供选择格式,设置成自己喜欢的格式就 OK
cloverstd
2016-06-27 12:19:11 +08:00
一坨多好,可以节省资源,:D
你看到的『序列化』,其实是用空格给填充出来的
heaton_nobu
2016-06-27 12:19:58 +08:00
你的请求头里有 application/json 吗?
akira
2016-06-27 12:24:28 +08:00
生产服上面肯定是用一坨的啦
7timesonenight
2016-06-27 12:24:44 +08:00
仅传输的话,空白字符多,影响性能,占用带宽流量,
slixurd
2016-06-27 12:32:57 +08:00
现在的服务器哪一个不开 gzip ,就一堆空格能有什么影响。
lslqtz
2016-06-27 12:46:06 +08:00
复制空格,然后加进去输出
gimp
2016-06-27 12:49:10 +08:00
数据的传输还是一坨好,查看是另一个问题,可以丢到 http://json.cn/ 上去
incompatible
2016-06-27 13:18:28 +08:00
@slixurd
1. gzip 平白耗 cpu
2. json 数据在进入 gzip 并发给客户端这个环节之前也许已经经过了数个内部 rpc 链路或者经过了数个 IO 传输环节,这些环节会受到影响
3. pretty json 的过程本身也会耗费额外的 cpu 时间

对性能有影响是肯定的
slixurd
2016-06-27 16:00:22 +08:00
@incompatible 嗯,的确是消耗 CPU 的,然而数据体积减小,网络链路传输变快了。
至于内部 RPC ,我想没有什么 RPC 框架是以文本形式传输的,都是压缩后的 binary 。

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

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

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

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

© 2021 V2EX