python json用法

Posted 米意思

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python json用法相关的知识,希望对你有一定的参考价值。

什么是json:

JSON(javascript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

jso官方说明参见:http://json.org/

Python操作json的标准api库参考:http://docs.python.org/library/json.html

load & dump:

json最常用的方法就是json类型和str类型的转换,其中,load和dump是针对文件的方法,loads和dumps是针对字符串的方法

import json
# example.json
# {"a": 1, "b": "ccc"}
with open("example.json") as f:
    a = json.load(f)
    f.seek(0)
    b = json.loads(f.read())
    # a和b相同,均为json类型

c = json.dumps(a)
# c为str类型
with open("out.json", "w") as f:
    json.dump(a, f)
    # 将a写回out.json中

 

json的类型转换如下:

 

a = {"a": {\'t1\': \'t2\'}, \'b\': [\'l1\', \'l2\'], \'c\': \'khj\', \'d\': 1.23, \'e\': 456, \'f\': True, \'g\': None}
json.dumps(a)
# \'{"a": {"t1": "t2"}, "c": "khj", "b": ["l1", "l2"], "e": 456, "d": 1.23, "g": null, "f": true}\'

 

以上是关于python json用法的主要内容,如果未能解决你的问题,请参考以下文章

python中json库中的loadloadsdumpdumps的区别与用法

python之json用法

python 导入json模块的用法

python 字符串转 json

Python json库中loadloadsdumpdumps的区别与用法

Json Schema Validator用法(Python示例)