一、json介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写,同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采用完全独立于程序语言的文本格式,但是也使用了类 C 语言的习惯(包括 C , C++ , C# , Java , JavaScript , Perl , Python 等),这些特性使 JSON 成为理想的数据交换语言。
JSON 基于两种结构:

  • “名称/值”对的集合( A collection of name/value pairs )。不同的编程语言中,它被理解为对象( object ),纪录( record ),结构( struct ),字典( dictionary ),哈希表( hash table ),有键列表( keyed list ),或者关联数组 ( associative array )。
  • 值的有序列表( An ordered list of values )。在大部分语言中,它被实现为数组( array ),矢量( vector ),列表( list ),序列( sequence )。

这些都是常见的数据结构。目前,绝大部分编程语言都以某种形式支持它们。这使得在各种编程语言之间交换同样格式的数据成为可能。
JSON 具有以下这些形式:
对象(object) 是一个无序的“‘名称/值’对”集合。一个对象以 “{” (左括号)开始, “}” (右括号)结束。每个“名称”后跟一个 “:” (冒号);“‘名称/值’ 对”之间使用 “,” (逗号)分隔。

数组(array) 是值( value )的有序集合。一个数组以 “[” (左中括号)开始, “]” (右中括号)结束。值之间使用 “,” (逗号)分隔。

值(value) 可以是双引号括起来的字符串( string )、数值( number )、 true false null 、对象( object )或者数组( array ),这些结构可以嵌套。

字符串(string) 是由双引号包围的任意数量 Unicode 字符的集合,使用反斜线转义。一个字符( character )即一个单独的字符串( character string )。 JSON 的字符串( string )与 C 或者 Java 的字符串非常相似。

数值(number) 也与 C 或者 Java 的数值非常相似。只是 JSON 的数值没有使用八进制与十六进制格式。

二、用python解析json文件

1、先给出 json 的测试文件内容

"fontFamily" : "微软雅黑" , "fontSize" : 12 , "BaseSettings" : { "font" : 1 , "size" : 2

2、调用 python 内置的 json 库进行解析,测试代码如下:

import json
def readjson():
     # 设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
    f = open("test.json", encoding="utf-8")
    file = json.load(f)
    family = file["fontFamily"]
    size = file["fontSize"]
    basesetting = file["BaseSettings"]["font"]  #注意多重结构的读取语法
    return (family, size, basesetting)
if __name__ == '__main__':
    print(readjson())

最后解析成功,结果为:

python os.walk子目录 python获取子目录

本次复现的是:使用python实现获取文件夹的子目录,并保存到txt文件 设计要求:需要带qt界面显示,给出文件夹路径能够自动获取子目录,并保存到本地文件夹pyqt5安装:pyqt5与flask安装1.pyqt界面设计将代码保存为untitled.py# -*- coding: utf-8 -*- # Form implementation generated from reading ui f