随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

python json

复制代码
#-*-coding:utf-8-*- 

'''编码格式记得统一,不然容易出现中文乱码,推荐用utf-8'''

import json

##################json单对象##############################
#声明初始化一个变量
obj={'name':'张三', 'email':'ljq@gmail.com'}
print type(obj) #<type 'dict'>

#字典转为json
#json_obj=json.dumps(obj) 
json_obj=json.dumps(obj, ensure_ascii=False) #解决中文乱码
print type(json_obj) #<type 'str'>
print json_obj #{"name": "ljq", "email": "ljq@gmail.com"}

#字符串转为json
str="{'name':'李四', 'email':'lisi@gmail.com'}"
#json_str=json.dumps(str)
json_str=json.dumps(str, ensure_ascii=False)
print json_str #"{'name':'张安', 'email':'ljq@gmail.com'}"

#json转为字典
dict_obj=json.loads(json_obj)
#如果传入的对象的编码不一致的话,需要用encoding指定字符编码
#dict_obj=json.loads(json_obj, encoding="utf8") 
print type(dict_obj) #<type 'dict'>
print dict_obj.get('name','')

#json转为字符串
unicode_str=json.loads(json_str)
dict_str=eval(unicode_str)
print type(unicode_str) #<type 'unicode'>
print type(dict_str)
print dict_str.get('name', '')

##################json数组##############################
arrays=[
    {'name':'zhangsan', 'age':10},
    {'name':'lisi', 'age':20},
    {'name':'wangwu', 'age':30}
]

arrays_json=json.dumps(arrays)
print type(arrays_json) #<type 'str'>

for obj in json.loads(arrays_json):
    #print type(obj) #<type 'dict'>
    print obj.get('age', '')

##################django内置json---simplejson##############################
'''
import simplejson as json

#几个主要函数:dump、dumps、load、loads,带s跟不带s的区别: 带s的是对 字符串的处理,而不带 s的是对文件对像的处理。

json、simplejson效率比较:simplejson在效率上来得有优势,推荐用simplejson

'''
复制代码

 

posted on   Ruthless  阅读(1255)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2011-04-19 设计中最常用的CSS选择器
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示