Python解析json字符串,json字符串用法
json数据简介
json数据是一个轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使json称为理想的数据交换语言,易于人阅读和编写,同时易于机器解析和生成。
json中的字符集必须是UTF-8,json中的字符串必须用双引号引起来。几乎所有语言都内置了解析json的库,JavaScript语言可以直接使用json。
json格式一般是“键值对”的格式,比如
键值对:{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}
再比如:
{
“programers”:[
{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”},
{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}
],
“authors”:[
{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”},
{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}
],
}
json的应用场景:web服务端的go数组->json字符串->网络传输->json字符串->反序列化->go数组->信息呈现给用户。
Python中解析json的库
import json
# 字典类型转换为json字符串
data = {"id": 1, 'name': 'sy', 'passwrd': ''} print(type(data))
json_str = json.dumps(data)
print(type(json_str))
print(json_str) print("*" * 20) # json字符串转换为字典类型
json_str2 = '{"programers":[ {"firstName":"Breet","lastName":"MMM","email":"XXX"},'\
'{"firstName":"Breet","lastName":"MMM","email":"XXX"}], ' \
'"author": [{"firstName": "su", "lastName": "yang", "email": "XXX"},'\
'{"firstName": "Breet", "lastName": "MMM", "email": "XXX"}]}' print(type(json_str2)) data2 = json.loads(json_str2) print(type(data2))
print(json_str2)
print(data2) print('*' * 20) # 将json数据写入文件,用文件传送 with open('aaa.json', 'w') as f:
json.dump(data, f) with open('aaa.json', 'r') as f:
data3 = json.load(f)
print(type(data3))
print(data3)
运行结果:
<class 'dict'>
<class 'str'>
{"id": 1, "name": "sy", "passwrd": "123123"}
********************
<class 'str'>
<class 'dict'>
{"programers":[ {"firstName":"Breet","lastName":"MMM","email":"XXX"},{"firstName":"Breet","lastName":"MMM","email":"XXX"}], "author": [{"firstName": "su", "lastName": "yang", "email": "XXX"},{"firstName": "Breet", "lastName": "MMM", "email": "XXX"}]}
{'programers': [{'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}, {'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}], 'author': [{'email': 'XXX', 'lastName': 'yang', 'firstName': 'su'}, {'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}]}
********************
<class 'dict'>
{'id': 1, 'name': 'sy', 'passwrd': '123123'}
Python解析json字符串,json字符串用法的更多相关文章
- Python解析非标准JSON(Key值非字符串)
采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...
- Python解析xml与JSON
xml与json是常用的文件交换格式,常用来表示网页的html则是xml的变种.解析xml和json在web开发中有着重要应用. DOM解析XML 文件对象模型(Document Object Mod ...
- 使用Python解析豆瓣上Json格式数据
现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...
- python解析页面上json字段
一般来说,当我们从一个网页上拿下来数据,就是一个字符串,比如: url_data = urllib2.urlopen(url).readline() 当我们这样得到页面数据,url_data是全部页面 ...
- android实现json数据的解析和把数据转换成json格式的字符串
利用android sdk里面的 JSONObject和JSONArray把集合或者普通数据,转换成json格式的字符串 JSONObject和JSONArray解析json格式的字符串为集合或者一般 ...
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换
遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的j ...
- AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串
1.AJAX html 传输json字符串: js方法如下: function saveRetYwlsh(){ var xmbh = document.getElementById("xmb ...
- 【Java_Spring】java解析多层嵌套json字符串
java解析多层嵌套json字符串
随机推荐
- Vue vue-resource三种请求数据方式pet,post,jsonp
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java内存溢出java.lang.OutOfMemoryError: PermGen space
今天把以前的一个项目部署在tomcat,启动没问题.因为用到了webservice,当调用webservice中的方法时一直报内存溢出异常 Exception in thread "http ...
- codeforces 1269 E K Integers
E. K Integers 题目连接:https://codeforces.com/contest/1269/problem/E 题意 给了一个排列p,你每次操作可以交换两个相邻的元素,现在问你最少操 ...
- springboot中redis做缓存时的配置
import com.google.common.collect.ImmutableMap;import org.slf4j.Logger;import org.slf4j.LoggerFactory ...
- IDEA Maven创建多个Module相互依赖
1.前言 在大型企业项目中,系统架构复杂多变,一个项目根本无法支撑起所有业务.为了提高项目扩展性.灵活性.重用性,封装性,将项目分为多个Module是非常必要的. 这里就不说IDEA如何安装了,安装好 ...
- Team Foundation Server 2015使用教程【2】:默认团队成员添加
官方文档:https://www.visualstudio.com/en-us/docs/setup-admin/add-users
- Hadoop Authentication
我被被派去做别的事情了,所以与hadoop相关的工作就只能搁下.写篇总结,把最近遇到的和kerberos相关的东西列一下. JAAS是Java 认证和授权服务(Java Authentication ...
- 在Linux CentOS下如何安装tar.gz和RPM软件包
1.安装tar.gz软件包: 在Linuxr(Centos下)如何安装tar.gz软件包,该方式实质上就是源代码安装方式,具体如下: 在Linux中使用wget命令下载要安装的文件,命令格式如下:wg ...
- 003eop常见问题设置
- 关于Mac VMFusion Centos7虚拟机网络的配置
1.环境配置: 创建完快照后启动虚拟机,使用root用户和root密码登录系统 1.1 停止防火墙 #停止防火墙 [root@localhost ~]#systemctl stop firewalld ...