每当有人在这里说“我有一个JSON对象”时,人们就会抱怨(正确)“没有JSON对象!”但...
您认为可以由JSON代表的数据结构类是什么?
它类似于“Map,List,Number,String和Boolean的有限传递闭包” - 即省略诸如函数和诸如集合和队列之类的发烧友结构之类的东西。该类别很有用。显然,在JSON中完成的所有事情都使用它。 CouchDB(我认为其他面向文档的数据库)使用它。其中包含大多数非循环数据结构。
但它叫什么?
答案 0 :(得分:3)
JSON只是一种易于转换为Javascript对象的符号。当JSON在Javascript(已评估)中实现时,它将变为Javascript对象/关联数组(取决于代表它的JSON)。
我认为可以用JSON表示的数据结构类就是:“数据结构”。例如,您可以用JSON表示二进制树,甚至可以表示列表和映射;这些都是特定的数据结构,它们的总体术语只是“数据结构”。
假设JSON只能表示一种特定类型的数据结构(例如,只有树),那么我们可以将JSON表示的对象类称为“树”。但是JSON不止于此;它可以代表不同类型的数据结构,这就是为什么它最好说“我这里有这个JSON,它代表了某某某数据结构”。
我想如果你把它真的烧掉,JSON代表一个数据结构,它是一个包含名称 - 值对的序列或结构,其中值可以是基元(int
s,{{1 }},string
s,float
s,boolean
s,null
s)或名称 - 值对或序列。
再考虑一下,要求可以用JSON表示的数据结构类的名称就像要求可以用XML表示的数据结构类的名称一样。两者都是抽象符号,可以被引入实际对象。
<强> TL; DR; 只需将其称为对象,或称为实际的数据结构名称。这就像说“XML对象”。 XML表示的结构类没有通用名称。 XML可以表示对象,就像JSON可以表示对象一样。
答案 1 :(得分:2)
您可以将它们称为“JSON兼容”或“JSON可序列化”。
答案 2 :(得分:0)
我认为这个问题有点领先,因为如果你覆盖了对象的序列化,任何对象都可以用JSON表示。
现在,如果您的意思是,哪些对象本身可以表示为JSON,这取决于您的语言和环境。
答案 3 :(得分:0)
是否有JSON对象?不。它是否采用序列化的对象类型? 如上所述
如果JSON是一种数据交换格式,并且JSON格式的结果文件遵循规范,它是否跟踪您是否有一个项目列表或一个项目列表,而不是对象?