![人工智能基础教程:Python篇(青少版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/783/26846783/b_26846783.jpg)
上QQ阅读APP看书,第一时间看更新
5.7 趣味练习
本章的趣味编程我们来谈谈使用Python处理JSON格式的文件。
我们都知道,文件格式是计算机为了存储信息而使用的对信息的特殊编码方式,本节就来详细谈谈JSON格式。这一章的趣味编程可能不像之前的趣味编程那样有趣,但是,对于编程而言,JSON格式是一个很有代表性的通信格式。JSON格式文件内容如图5.4所示。
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0006.jpg?sign=1738958129-Dq2BI5eyYHg8TxHDfvNrVw1URXffgMrH-0-8d7e0fa06125179ebdf5bdf0b9eaa7a0)
图5.4 JSON格式文件内容
图5.4中的JSON格式文件内容是一段没有加任何处理的JSON信息段,从方框中的内容可以看出,它只有一行。对于这种格式我们应该怎样处理呢?详见程序5.5。
程序5.5:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0007.jpg?sign=1738958129-KYRNMS6o4QGLo0xZIhhjxEU3Efh6xeBj-0-355ed732a97c3343495c3f3004862b95)
输出:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0008.jpg?sign=1738958129-MIlI1ZTWTDkSy4k3xg7XAMCH5teIzuXB-0-9c680538c9bf1e995edeb5d8de7a6c07)
点睛:
为了方便大家查看,在程序的第1行我们将程序中使用的JSON信息段以注释的形式列出,它也是图5.4的内容。我们将其存入test_json.json文件中用于程序的处理。
程序首先引入了用于JSON格式处理的json模块,接下来,使用data = json.load(file)将JSON格式文件解析,此时,JSON格式文件中内容的格式已经有了变化,详细见图5.5中的内容。
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0009.jpg?sign=1738958129-sTwd7cpoGv0yXQkjNE6MtCeNHGSogwp0-0-109d0634158bcf5a3403481f4734fb4c)
图5.5 解析后的JSON格式文件数据
怎么样,是不是有了一种豁然开朗的感觉!原本乱糟糟的内容其实是一段天气预报信息。此时再来看程序的第7~9行,这种使用方法有点像Python中列表、字典的访问形式,例如,图5.5中有{}包住的数据,也有[]包住的数据,其中使用[]包住的数据需要使用列表的访问形式进行访问,如[1]这种形式。而{}包住的数据需要使用像字典的键访问键值的形式来提取,如["days"]这种形式。将这两种形式进行组合便可以达到提取所有信息的目的。