擅长:python、mysql、java
<p>简单:使用</p>
<ul>
<li><code>dict.get('key', {})</code>对于不是叶的所有节点,以及</li>
<li><code>dict.get('key', DEFAULT)</code>对于叶子,<code>DEFAULT</code>就是你所需要的</李>
</ul>
<p>如果省略<code>DEFAULT</code>并且<code>'key'</code>不存在,则得到<code>None</code>。见<a href="https://docs.python.org/3/library/stdtypes.html#dict.get" rel="nofollow noreferrer">^{<cd8>}</a></p>
<p>例如:</p>
<pre class="lang-python prettyprint-override"><code>jsonData.get('record', "") # empty string if no 'record' key
jsonData.get('valid', False) # False if no 'valid' key
jsonData.get('location') # None if no 'location'
jsonData.get('tags', {}).get('p') # None if no 'tags' and/or no 'p'
jsonData.get('tags', {}).get('p', {}) # {} if no 'tags' and/or no 'p'
jsonData.get('tags', {}).get('p', {}).get('explicit', False) # and so on
</code></pre>
<p>上面假设您不遍历列表(JSON数组)。如果你这样做了,你仍然可以使用</p>
<ul>
<li><code>dict.get('key', [])</code></li>
</ul>
<p>但是,如果你必须从那里深入,你可能需要循环列表项</p>