简单易懂的JSON入门知识

什么是JSON?

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。(源自:百度百科)

JSON是存储和交换文本信息的语法,类似XML。JSON比XML更小、更快,更易解析。

JSON格式

1. 构造字符

JSON为什么很易学?因为JSON只有6个构造字符,在这6个构造字符的前或后允许存在无意义的空白符。

[ 左方括号
{ 左大括号
] 右方括号
} 右大括号
: 冒号
, 逗号

2. 数据类型

JSON有四种数据类型,所有JSON文件都是由这四种数据类型组合而成的,这四种数据类型分别是:对象、数组、数字、字符串

2.1 数字
123

2.2 字符串
"hello world"

2.3 数组
[1,2,"3"]
[1,2,"3",{"a":1,"b":2}]

2.4 对象
{"a":1,"b":2}
{"a":1,"b":2,c:[1,2,"3"]}

3. 合法的JSON结构

曾经有个疑问,合法的JSON数据是不是都必须以{}括起来?
其实不是的,只要符合四种数据类型的数据都是合法的JSON结构。无论他们多简单还是多复杂。

比如:
123和"hello world"是合法的JSON数据类型。
[1,2,"3",{"a":1,"b":2}]是合法的数据类型。
{"a":1,"b":2,c:[1,2,"3"]}也是合法的数据类型。

是否以{}括起来只是代表了JSON的复杂程度而已。

【Python每日一练】JSON和CSV处理练习

JSON练习

3.1 导入population.json数据,并格式化输出中国China的人口数据。

下载:population.json

CSV联系

3.2 使用with导入population.csv数据,并输出中国China的人口数据。

下载:population.csv

答案

3.1

import json
fileURL = "population.json"
r = open(fileURL,"r")
popData = json.load(r)
for country in popData:
    if country["Country"] == "China":
        country = json.dumps(country,indent=1)
        print(country)

3.2

import csv
fileURL = "population.csv"
with open(fileURL) as f:
    f_csv = csv.reader(f)
    for row in f_csv:
        if row[0] == "China":
            print(row)