python爬微信公众号前10篇历史文章(5)-JSON相关内容小结

  • <span>json</span>— JSON encoder and decoder

JSON:JavaScript object notation,是一种轻量级的数据交换格式。JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串

JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

JSON语法规则:

  1. 对象表示为键值对
  2. 数据由逗号分割
  3. 花括号保存对象
  4. 方括号保存数组

JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:

{"firstName": "Json"} //JSON格式字符串

等价于这条 JavaScript 语句:

{firstName : "Json"} //JS格式对象

例子:

{
"people":[
{
"firstName": "Brett",           
"lastName":"McLaughlin"       
},
{          
"firstName":"Jason",
"lastName":"Hunter"
}
]
}

Python中的json库:

json.dumps(<em>obj</em>, <em>*</em>, <em>skipkeys=False</em>, <em>ensure_ascii=True</em>, <em>check_circular=True</em>, <em>allow_nan=True</em>, <em>cls=None</em>, <em>indent=None</em>, <em>separators=None</em>, <em>default=None</em>, <em>sort_keys=False</em>, <em>**kw</em>)<br />
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'

Encoding: 将python对象转换成json格式的字符串

json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
>>> import json
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
['foo', {'bar': ['baz', None, 1.0, 2]}]

Decoding: 将json格式的字符串转换成python对象

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
Truetrue
Falsefalse
Nonenull

相关推荐