4.Json简介
乙醇 创建于 about 7 years 之前
最后更新: less than a minute 之前
阅读数: 237
官方解释
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
首先json是字符串。
大家都知道,字符串是用来传递信息的。json字符串实际上就是一种规定了格式的字符串,
通过这种格式,我们可以在不同的编程语言之间互相传递信息,比如我们可以把javascript的对象转换成json传递给java,这样java可以反解析出java语言自身代表的对象;同理,我们可以把java对象转成json,通过解析json,python语言可以把json转成是自身的dict或者是list,json统一了交流的格式,使得信息可以在不同的语言间顺畅传递。
JSON解析的简单例子
比如,我们可以把json字符串转成python语言的dict
#coding: utf-8
import json
json_str = """
{
"id" : 90,
"name" : "python",
"url" : "http://www.v2ex.com/go/python",
"title" : "Python",
"title_alternative" : "Python",
"topics" : 7646,
"stars" : 4862,
"header" : "这里讨论各种 Python 语言编程话题,也包括 Django,Tornado 等框架的讨论。这里是一个能够帮助你解决实际问题的地方。",
"footer" : null,
"created" : 1278683336,
"avatar_mini" : "//v2ex.assets.uxengine.net/navatar/8613/985e/90_mini.png?m=1504080972",
"avatar_normal" : "//v2ex.assets.uxengine.net/navatar/8613/985e/90_normal.png?m=1504080972",
"avatar_large" : "//v2ex.assets.uxengine.net/navatar/8613/985e/90_large.png?m=1504080972"
}
"""
res = json.loads(json_str)
print(res['id']) # 90
print(res['name']) # python
print(res['url']) # http://www.v2ex.com/go/python