微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json 算不算数据结构?如果不是,那么 JSON 的本质是什么?

如何解决json 算不算数据结构?如果不是,那么 JSON 的本质是什么?

对 JSON 非常困惑。

在数据结构书籍中,作者只写了如何用列表或链表实现一棵树,而没有一个词围绕JSON。

我已经使用 JSON 多年,但对这个 ...字符串越来越困惑?

用 JSON 表示树非常简单。问题是:既然这么简单,为什么不使用 JSON 来实现一棵树呢?

是不是因为在写这本书的时候,JSON 还没有被发明?

那么,JSON 的本质是什么?

是字符串作为人类阅读的遍历结果,还是机器存储的数据格式?

或者,别的什么?

解决方法

有人说解决问题的最好方法就是提出问题。 在询问有关堆栈溢出的问题数小时后,我发现了一种可能性:

当我们谈论“数据结构”时,那个“数据结构”,这个“东西”实际上并不存在于现实世界中。数据结构是一个抽象的概念,而不是一个具体的东西。它只存在于人类的想象中。在实施领域,尤其是。当用计算机编程时,这个“数据结构”由一堆复杂的东西组成,包括数据定义和可以应用于数据的操作。数据结构确实作为一个抽象概念存在,但是你必须将它实现为一个具体的序列化字符串,比如编程语言的一些代码、数据库表、excel电子表格、JSON或YAML字符串……等, .

所以,我想说,JSON 文件是什么并不重要。它只是对抽象数据结构的描述。使用 JSON 或任何其他类似内容(XML、HTML、YAML,...甚至是图片、文本文件、告诉程序员数据结构是什么的人的一段录音)的目的。 ..),是告诉“你”数据本身的描述,但“描述方式”不是数据本身。数据不存在。

然后,当你在头脑中具体化数据结构时,你应该告诉计算机。计算机是很简单的机器,无法理解序列化字符串的含义。您(人类)应该将这些字符串转换为计算机可以理解的方式。而这正是“数据结构课程”的重点。

再往后,即使我们使用json(比如python dict数据类型)来表示一棵树,完成整个编程还有很多事情要做。数据描述不是数据本身,更不是对数据的操作。

,

什么是 Json:

json是数据格式,代表内存中的对象,是一种文本序列化格式。还有其他格式,如 XML,也是文本序列化。还有其他二进制序列化格式,在压缩电汇时效果更好。

什么是数据结构:

数据结构是内存中物理数据的排列,它们具有相关的时间和空间复杂度,有助于以访问、遍历和搜索的高效格式排列数据。数据结构是各种算法的基础,有助于解决现实生活中的问题。数据结构是存储在 Json 中的数据的反序列化版本

简单来说:

在内存中,数据使用数据结构分配,在网络上以序列化格式传输并在其他端点反序列化。这样做是因为 http 作为协议不能携带状态,它被转换为序列化/有线格式。 文本格式也可以分配给字符串数据类型,持久化到文件/数据库,但最终转换为ListDictionary等数据结构提供了更多有用的方法

琐事:

至少在Python中,字典反映的是json格式,虽然不能直接赋值,因为json最终是字符串,必须使用反序列化json apis进行转换

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。