JSON知识点详解(示例)

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

这篇文字将介绍如何使用 Python 语言来编码和解码 JSON 对象。

JSON 函数

使用 JSON 函数需要导入 json 库:import json。

函数描述
json.dumps将 Python 对象编码成 JSON 字符串
json.loads将已编码的 JSON 字符串解码为 Python 对象
json.dumps

json.dumps 用于将 Python 对象编码成 JSON 字符串。

语法

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

实例

以下实例将数组编码为 JSON 格式数据:
使用参数让 JSON 数据格式化输出:

#coding:utf-8

import json


pythonData= {"max": 10,"numRaters": 2,"average": "0.0","min": 0,"subtitle": "未来","author": "青闰","pubdate": "2005-1-1"}



json = json.dumps(pythonData,ensure_ascii=False,sort_keys=True,skipkeys=False,indent=4)

print json

输出

{
    "author": "青闰", 
    "average": "0.0", 
    "max": 10, 
    "min": 0, 
    "numRaters": 2, 
    "pubdate": "2005-1-1", 
    "subtitle": "未来"
}

python 原始类型向 json 类型的转化对照表:

PythonJSON
dictobject
list,tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull
json.loads

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

实例
以下实例展示了Python 如何解码 JSON 对象:

#coding:utf-8
import json

#将以下JSON对象解析为python格式,并进行访问,字符串的JSON对象
jsonData= '''{
    "rating": {
        "max": 10,
        "numRaters": 2,
        "average": "0.0",
        "min": 0
    },
    "subtitle": "",
    "author": [
        "青闰"
    ],
    "pubdate": "2005-1-1"
}'''
text = json.loads(jsonData)
print text
#按字典的形式访问元素
for key in text:
    print key,text[key]

输出:

#输出text
{u'rating': {u'max': 10, u'numRaters': 2, u'average': u'0.0', u'min': 0}, u'subtitle': u'', u'pubdate': u'2005-1-1', u'author': [u'\u9752\u95f0']}

#访问text元素的结果
rating {u'max': 10, u'numRaters': 2, u'average': u'0.0', u'min': 0}
subtitle 
pubdate 2005-1-1
author [u'\u9752\u95f0']

json 类型转换到 python 的类型对照表:

JSONPython
objectdict
arraylist
stringunicode
number (int)int, long
number (real)float
trueTrue
falseFalse
nullNone
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值