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字符串用法的更多相关文章

  1. Python解析非标准JSON(Key值非字符串)

    采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...

  2. Python解析xml与JSON

    xml与json是常用的文件交换格式,常用来表示网页的html则是xml的变种.解析xml和json在web开发中有着重要应用. DOM解析XML 文件对象模型(Document Object Mod ...

  3. 使用Python解析豆瓣上Json格式数据

    现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...

  4. python解析页面上json字段

    一般来说,当我们从一个网页上拿下来数据,就是一个字符串,比如: url_data = urllib2.urlopen(url).readline() 当我们这样得到页面数据,url_data是全部页面 ...

  5. android实现json数据的解析和把数据转换成json格式的字符串

    利用android sdk里面的 JSONObject和JSONArray把集合或者普通数据,转换成json格式的字符串 JSONObject和JSONArray解析json格式的字符串为集合或者一般 ...

  6. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  7. python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换

    遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的j ...

  8. AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串

    1.AJAX html 传输json字符串: js方法如下: function saveRetYwlsh(){ var xmbh = document.getElementById("xmb ...

  9. 【Java_Spring】java解析多层嵌套json字符串

    java解析多层嵌套json字符串    

随机推荐

  1. 2019-11-6-Roslyn-how-to-use-WriteLinesToFile-to-write-the-semicolons-to-file

    title author date CreateTime categories Roslyn how to use WriteLinesToFile to write the semicolons t ...

  2. Vue 属性绑定v-bing 事件绑定v-on

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. linux 自旋锁 API 简介

    自旋锁原语要求的包含文件是 <linux/spinlock.h>. 一个实际的锁有类型 spinlock_t. 象任何其他数据结构, 一个 自旋锁必须初始化. 这个初始化可以在编译时完成, ...

  4. 应用九:Vue之国际化(vue-i18n)

    vue-i18n是一款针对Vue.js 的国际化插件,具体应用步骤如下: 一.安装插件 npm install vue-i18n --save 二.在main.js中引入插件 import VueI1 ...

  5. 使用 node.js三行代码实现手机端访问html页面文件

    首先确保你安装了node (全局安装) npm install -g browser-sync // --files 路径是相对于运行该命令的项目(目录) browser-sync start --s ...

  6. FreeSql取多表数据

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! 以文章随笔与分类为例. 表结构 部分字段如下,其他省略,为了展示一对多关联,一个分类下可以有多个文章.一个文章属于一个分类. blog_artic ...

  7. Struts2和Spring集成

    Spring是一个流行的Web框架,它提供易于集成与很多常见的网络任务.所以,问题是,为什么我们需要Spring,当我们有Struts2?Spring是超过一个MVC框架 - 它提供了许多其它好用的东 ...

  8. Visio模具与模版

    yy 这些形状就是模具 点击更多形状 然后新建模具 也可以打开已有的模具 模具名字右边有星号 代表模具未保存 鼠标右键单击可以选择保存 选择属性可以进行设置(信息之类的)也可以进行关闭 模具文件三种打 ...

  9. Spring||IQ

    Here's the question about spring 1.Spring概述 Spring 是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应 ...

  10. Python简介及学习

    Python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编程语言,但流行的编程语 ...