<p>它有点长,但在上面的例子中:</p>
<pre><code>In [1]: import json
In [2]: s = """\
...: {
...: "A": {
...: "B": {
...: "unknown": {
...: "1": "F",
...: "maindata": [
...: {
...: "Info": "TEXT"
...: }
...: ]
...: }
...: }
...: }
...: }"""
In [3]: data = json.loads(s)
In [4]: data['A']['B']['unknown']['maindata'][0]['Info']
Out[4]: u'TEXT'
</code></pre>
<p>您基本上把它当作一个字典,传递键来获取每个嵌套字典的值。唯一不同的部分是当您点击<code>maindata</code>时,结果值是一个列表。为了处理这个问题,我们拉动第一个元素<code>[0]</code>,然后访问<code>Info</code>键来获取值<code>TEXT</code>。</p>
<p>在<code>unknown</code>更改的情况下,您将用一个变量替换它,该变量表示在代码中该点的“已知”名称:</p>
<pre><code>my_variable = 'some_name'
data['A']['B'][my_variable]['maindata'][0]['Info']
</code></pre>
<p>如果我第一次能正确地阅读你的问题,如果你在任何时候都不知道什么是<code>unknown</code>,你可以这样做:</p>
<pre><code>data['A']['B'].values()[0]['maindata'][0]['Info']
</code></pre>
<p>其中<code>values()</code>是一个变量,包含:</p>
<pre><code>[{u'1': u'F', u'maindata': [{u'Info': u'TEXT'}]}]
</code></pre>
<p>可以使用<code>[0]</code>访问的单个项目列表,然后可以按上述步骤继续。请注意,这取决于字典中只有一个项-如果有更多项,则需要调整一点。</p>