企业网站国内现状/厦门网站设计公司
在本Python教程中,我们将了解如何获取此 json 对象中的所有键以及键的所有值。
好吧,让我开始吧,让我
在这里拿一个空的python文件,所以是的,所以让我先把这个文件保存为example.py。
加载 json
因为它是一个 json 我需要导入这个名为json的包。这使您可以使用json。然后它在这个特定的 Python 文件中可用。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>import json
</code></span></span>
正确的选择该文件路径并尝试使用open as json file打开它。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>with open("C:\\pythonPrograms\\example.json") as jsonFile:
</code></span></span>
那将做 json解码。我们的 json 文件如下所示:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-text-color)">"emp_details"</span><span style="color:var(--syntax-text-color)">:[</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-text-color)">"name"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"a"</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-text-color)">"id"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"123"</span><span style="color:var(--syntax-text-color)">},</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-text-color)">"name"</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-string-color)">"b"</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-text-color)">"id"</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-string-color)">"345"</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-text-color)">]</span><span style="color:var(--syntax-text-color)">}</span>
</code></span></span>
你需要给出文件名,所以这是我的文件名。它应该有双斜杠而不是单斜杠,所以一旦我们使用我们导入的 json 库获得它,您需要加载 json 对象。我们走吧。
正在上传…重新上传取消
获取键和值
使用加载函数 json 文件,这让我将它保存到一个名为 data 的变量中。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code> <span style="color:var(--syntax-text-color)">data</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">json</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">load</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-text-color)">jsonFile</span><span style="color:var(--syntax-text-color)">)</span>
</code></span></span>
然后你有一个 Python对象。现在您可以获得键和值。下面的代码取决于您的 json 文件的外观。在我们的 json 文件中有一个名为 emp_details 的头文件。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code> <span style="color:var(--syntax-text-color)">jsonData</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">data</span><span style="color:var(--syntax-text-color)">[</span><span style="color:var(--syntax-string-color)">"emp_details"</span><span style="color:var(--syntax-text-color)">]</span><span style="color:var(--syntax-text-color)">keys</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">x</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">keys</span><span style="color:var(--syntax-text-color)">()</span><span style="color:var(--syntax-text-color)">values</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">x</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">values</span><span style="color:var(--syntax-text-color)">()</span>
</code></span></span>
这给了我们这个代码:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code> <span style="color:var(--syntax-error-color)">import</span> <span style="color:var(--syntax-text-color)">json</span><span style="color:var(--syntax-declaration-color)">with</span> <span style="color:var(--syntax-text-color)">open</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-string-color)">"test.json"</span><span style="color:var(--syntax-text-color)">)</span> <span style="color:var(--syntax-declaration-color)">as</span> <span style="color:var(--syntax-text-color)">jsonFile</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-text-color)">data</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">json</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">load</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-text-color)">jsonFile</span><span style="color:var(--syntax-text-color)">)</span><span style="color:var(--syntax-text-color)">jsonData</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">data</span><span style="color:var(--syntax-text-color)">[</span><span style="color:var(--syntax-string-color)">"emp_details"</span><span style="color:var(--syntax-text-color)">]</span><span style="color:var(--syntax-declaration-color)">for</span> <span style="color:var(--syntax-text-color)">x</span> <span style="color:var(--syntax-error-color)">in</span> <span style="color:var(--syntax-text-color)">jsonData</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-text-color)">keys</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">x</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">keys</span><span style="color:var(--syntax-text-color)">()</span><span style="color:var(--syntax-declaration-color)">print</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-text-color)">keys</span><span style="color:var(--syntax-text-color)">)</span><span style="color:var(--syntax-text-color)">values</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">x</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-text-color)">values</span><span style="color:var(--syntax-text-color)">()</span><span style="color:var(--syntax-declaration-color)">print</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-text-color)">values</span><span style="color:var(--syntax-text-color)">)</span>
</code></span></span>
它将输出:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>{'name': 'a', 'id': '123'}
dict_keys(['name', 'id'])
dict_values(['a', '123'])
{'name': 'b', 'id': '345'}
dict_keys(['name', 'id'])
dict_values(['b', '345'])
</code></span></span>
如果需要,您可以遍历循环内的键和值,以进行格式化。
在这里,我们使用for 循环来迭代键和值。如果您的 json 文件像本例中的那样小,则不必使用循环。
就这样 :-)如果对Python有兴趣,想了解更多的Python以及AIoT知识,解决测试问题,以及入门指导,帮你解决学习Python中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己Python方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们,可领取最新Python大厂面试资料和Python爬虫、人工智能、学习资料!微信公众号【Python大本营】等你来玩奥~