python之处理json字符串

一、如何从文件中读取json字符串

通过json模块可以处理json数据。

1.loads()方法

loads(json_object)将json字符串转换成dict类型。

import json
# fr=open("products.json",'r',encoding='utf-8')
# content=fr.read()#json字符串,f.read()读取文件所有内容,返回str类型,f.readlines()一行一行读,返回一个list,每行为list元素
# dict=json.loads(content)
# print(dict)

2.load()方法

load(f)可以直接操作文件,也是将json字符串转换成dict类型

f=open("products.json",'r',encoding='utf-8')
# dict=json.load(f)
# print(dict)

二、如何将json数据写入文件

1.dumps()

dumps(dict)将dict类型转换成json类型

fw=open('new.json','w',encoding='utf-8')
stus={"hailong":{"age":27,"height":175},"lyh":{"age":28,"height":160}}
str_content=json.dumps(stus,indent=4)#indent缩进
fw.write(str_content)

2.dump()方法

dump(f)直接操作文件,将dict类型转换成json数据

# fw=open("new.json",'w',encoding='utf-8')
# stus={"hailong":{"age":27,"height":175},"lyh":{"age":28,"height":160},'wql':{"age":31,"height":172}}
# json.dump(stus,fw,indent=5,ensure_ascii=False)

三、如何从接口返回的响应数据json中获取字段值

import jsonpath
stus={
    "error_code": 0,
    "login_info": {
      "userId": 1,
      "sign": "d58e3582afa99040e27b92b13c8f2280",
      "login_time": "20171207113501"
    }
  }
res=jsonpath.jsonpath(stus,expr='$..sign'#返回的是一个list
print(res)

猜你喜欢

转载自www.cnblogs.com/balllyh/p/10404160.html