Json格式解析可以利用递归的方式,主要的两大结构是数组和字典,所以利用这个规律交叉递归解析就可以了。
即字典中递归调用字典和数组解析,数组中递归调用字典和数组解析,这样无论Json数据有多少层,都可以完全解析出来,不需要提前知道整个数据结构的情况。
为了方便解析,这个脚本里面我们要求解析的Json的格式是标准的,需要用行进行数据的区分,例如下面这种数据格式:
{
"name": "三班",
"students": [
{
"age": 25,
"gender": "female",
"grades": "三班",
"name": "露西",
"score": {
"网络协议": 98,
"JavaEE": 92,
"计算机基础": 93
},
"weight": 51.3
},
{
"age": 26,
"gender": "male",
"grades": "三班",
"name": "杰克",
"score": {
"网络安全": 75,
"Linux操作系统": 81,
"计算机基础": 92
},
"weight": 66.5
},
{
"age": 25,
"gender": "female",
"grades": "三班",
"name": "莉莉",
"score": {
"网络安全": 95,
"Linux操作系统": 98,
"SQL数据库": 88