python解析json文件

  • 认识json数据
    json有两种数据结构:对象和数组。
    对象:用大括号表示,由键值对组成,每个键值对用逗号隔开。其中key必须为字符串且是双引号,value可以是多种数据类型。
    数组:用中括号表示,每个元素之间用逗号隔开。
    json中的字符串都要用双括号表示。
    json数据可以嵌套表示出结构更加复杂的数据。
  • json格式与python格式的对应
Python	           JSON
dict	           object
list, tuple        array
str	               string
int, float         number
True	           true
False	           false
None	           null
  • 将python数据与json数据相互转化
    导入json模块: import json;
    python数据转成json字符串:json_data = json.dumps(python_data);
    json字符串转成python对象:python_data = json.loads(json_data);
  • 一个例子
import json;
data1 = {
           'name' : 'jack',
            'age' : 20,
            'like': ('sing','dance','swim'),
            'score': {'chinese':80,'math':60,'english':99}
}

data2 = json.dumps(data1);
data3 = json.loads(data2);
print('原始数据');
print(data1);
print('转化成json格式');
print(data2);
print('再转化成python格式');
print(data3);
原始数据
{'name': 'jack', 'age': 20, 'like': ('sing', 'dance', 'swim'), 'score': {'chinese': 80, 'math': 60, 'english': 99}}
转化成json格式
{"name": "jack", "age": 20, "like": ["sing", "dance", "swim"], "score": {"chinese": 80, "math": 60, "english": 99}}
再转化成python格式
{'name': 'jack', 'age': 20, 'like': ['sing', 'dance', 'swim'], 'score': {'chinese': 80, 'math': 60, 'english': 99}}
  • python操作json文件
    1.把一个python类型数据直接写入json文件
    json.dump(data1, open(‘xxx.json’, “w”));
    2.直接从json文件中读取数据返回一个python对象
    data3 = json.load(open(‘xxx.json’));
  • 实例
import json;
# json.dump()  把数据写入json文件
# json.load()  把json文件内容读入python

data1 = {
           'name' : 'jack',
            'age' : 20,
            'like': ('sing','dance','swim'),
            'score': {'chinese':80,'math':60,'english':99},
            'love': None
}



#把python数据data1直接写入json文件中
json.dump(data1, open('jack.json', "w"));

#直接从json文件中读取数据返回一个python对象
data3 = json.load(open('jack.json'));
print(data3);

>>>>>
{ 
    'name': 'jack', 'age': 20,
    'like': ['sing', 'dance', 'swim'],
    'score': {'chinese': 80, 'math': 60, 'english': 99}, 
    'love': None
  }

json文件中的内容

{
  "name": "jack", 
   "age": 20,
   "like": ["sing", "dance", "swim"],
   "score": {"chinese": 80, "math": 60, "english": 99},
   "love": null
   }
  • 总结
    在用python解析json文件时可以用dumps函数先把python数据转化为json字符串,在用open函数自行把json字符串写入到文件中。也可以直接用dump函数把python数据写入到json文件中,这样更方便。
    两种写入文件的方法是等价的,相反读取文件时也有两种方法。
  • 23
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值