Parse: Python实现JSON-decode解析器

JSON是一种编程语言无关的数据格式,它是一种轻量级的数据交换格式。JSON的数据格式在语法上与Python的字典类似,但是JSON的数据格式是纯文本的,它可以被任何编程语言读取和解析。

JSON的数据格式是一个键值对的集合,它由键值对组成,键值对之间使用逗号分隔,键值对的键和值之间使用冒号分隔。JSON的数据格式可以包含数组和对象,数组是一个有序的值的集合,对象是一个无序的键值对的集合。

其数据结构可以在官方文档中查看:https://www.json.org/json-zh.html

接下来我们用Python实现一个JSON解析器,实现JSON的解析。

JSON解析器

token 类型

token_eof = 0
token_number = 1
token_string = 2
token_bool = 3
token_array = 4
token_object = 5
token_null = 6
token_colon = 7
token_comma = 8     # ,
token_lbrace = 9    # {
token_rbrace = 10   # }
token_lbracket = 11 # [
token_rbracket = 12 # ]

映射token类型到字符串

def token_name(tok):
    return {
        token_eof: 'eof',
        token_number: 'number',
        token_string: 'string',
        token_bool: 'bool',
        token_array: 'array',
        token_object: 'object',
        token_colon: 'colon',
        token_comma: 'comma',
        token_lbrace: 'lbrace',
        token_rbrace: 'rbrace',
        token_lbracket: 'lbracket',
        token_rbracket: 'rbracket',
        token_null: 'null',
  

你可能感兴趣的:(python,json,开发语言)