json库 null,boolen类型解析

语法子集及解析思路:

在这里插入图片描述
当中 %xhh 表示以 16 进制表示的字符,/ 是多选一,* 是零或多个,( ) 用于分组。
上面的子集意思是 json文本是由空白 值 空白组成,空白是空格符/制表符/换行符/回车符的一种,值是null/false/true的一种,每一种有对应的字面值。

解析思路
由于 JSON 语法特别简单,只需检测下一个字符,便可以知道它是哪种类型的值,然后调用相关的分析函数。对于完整的 JSON 语法,跳过空白后,只需检测当前字符:

n ➔ null
t ➔ true
f ➔ false
这三个类型思路都是将json文本和字面值相比较,相同就设置类型并返回成功标识,不相同返回错误消息。

实现过程中遇到的问题;

test_parse_xx函数前两行设置了v.type值,再去解析不是一定会返回错误吗?
lept_parse()函数会根据输入的json文本重新设置v的类型。

这个解析器完成什么工作?
把读入的json文本解析成数据结构(包括类型,值,文本…),供程序调用

lept_context 作用?
为了减少解析函数之间传递多个参数,我们把这些数据都放进一个 lept_context 结构体。刚开始不理解,写到解析数组的时候就知道了,解析过程中除了json文本&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值