Java后端和JavaScript前端-为什么使用JSON?

3
我正在使用Spring Boot Java后端和Javascript前端。后端需要从数据库获取数据并将其提供给前端。
谷歌上最新的热门教程都建议采用同样的方法:使用Spring REST API后端,并通过http get将数据以JSON格式提供给前端。
我不理解为什么这是首选方法。JSON的想法是提供“可读的文本”(维基百科)。我的后端为什么需要它呢?
因此,在我的情况下生成的JSON几乎有800kb,因为所有字段和值都是可读的。如果我改变结构并使用占位符值,大小将缩小到100kb,我的前端完全可以处理。
但是这样做会破坏使用JSON作为传输对象的整个思路。
那么为什么社区似乎如此青睐这种方法呢?我是不是漏了什么?您是否知道更好的方法?还是应该接受现状?

你在干什么,发送整个数据库? - chrylis -cautiouslyoptimistic-
即使文件大小较小,如果有大量用户访问我的网站,它也会扩展。关键是,如果我的前端不关心人类可读的文件格式,为什么要选择它呢? - user6440081
不一定需要使用JSON...其他教程可能会展示gPRC...或者使用WebSockets代替HTTP。 - OneCricketeer
2个回答

2

为什么选择Json?

  1. 使用Javascript处理json非常简单(它内置了支持)。

    1.1. 实际上,几乎任何编程语言都有json支持的工具。

  2. 使用json使消息前后向兼容非常简单。

  3. 由于json是文本,所以普通的HTTP在对其进行压缩时非常有效,因此如果负载足够大,则最终发送的数据量约为原始数据量的10%。

  4. 人类可读性使得当您需要排除故障时更加简单。(您是否尝试过排查protobuf?)


必须使用json吗?

不一定。


现在,虽然您没有直接询问,但您“间接”询问了。不要将所有数据发送到页面,而是将数据分成块,即页面需要加载的内容和页面稍后需要的内容。如果平衡得当,则可以从两个世界中受益:人类可读格式和快速加载页面。


0
JSON的想法是提供一个“可读性强的文本”(维基百科)。
是的,但是...
我会关注JavaScript对象表示法。例如 Mozilla文档所述:
JavaScript对象表示法(JSON)是一种基于JavaScript对象语法的标准文本格式,用于表示结构化数据。
简短的答案是:您可以免费获得一些东西。您可能会对以下内容感兴趣: 什么是JSON以及为什么要使用它从后端向前端发送JSON
关于数据大小:我很好奇你们的 JSON 格式是什么,以至于通过改变格式可以从 800KB 减少到 100KB。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接