【发布时间】:2015-09-04 20:34:56
【问题描述】:
我有一个 json 字符串,我想知道它的最大深度是多少。深度是指嵌入键的数量。因此,如果一个键作为 7 个“孩子”并且知道其他键有那么多,那么深度将是 8。
由于唯一可以嵌入其他对象的类型(我相信)是数组和其他字典,因此需要检查所有这些。有没有办法检查这个?
我希望在没有外部模块的情况下实现这一目标,但如果没有,我将瞄准 python3。
注意:这就是我所说的“深度”
以下词典:
{
"path": "/0001_Anthem",
"name": "0001_Anthem",
"isMovie": true,
"runtime": 3600,
"thumbnailLocation": "/thubs/test.png",
"id": 1,
"media": [
{
"path": "/0001_Anthem/louvers.mp4",
"name": "louvers.mp4"
}
]
}
会有一个“深度”或长度为 3,因为最远的嵌入项是 media 数组(第 2 级)中的键/值对(第 3 级),在主 dictionary(第 1 级)中)。我不确定其他人使用什么术语,这只是我认为有意义的术语。
谢谢
【问题讨论】:
-
你能更详细地解释一下你所说的深度是什么意思吗?这听起来不像通常的定义。也许有一些例子?
-
如果您说“数组和字典”,您是否可能指向
collections.Mapping和collections.Sequence? -
@Blorgbeard 澄清
-
好吧,这实际上是通常的定义,我只是被你的措辞弄糊涂了 :)
标签: python json dictionary