#json-parser #object #array

nightly rjson

最小化的json解析器

4个版本

0.3.1 2018年12月6日
0.3.0 2018年11月29日
0.2.1 2018年11月29日
0.2.0 2018年11月29日

#136 in #json-parser

Download history 190/week @ 2024-03-25 767/week @ 2024-04-01 262/week @ 2024-04-08 412/week @ 2024-04-15 227/week @ 2024-04-22 53/week @ 2024-04-29 633/week @ 2024-05-06 364/week @ 2024-05-13 495/week @ 2024-05-20 169/week @ 2024-05-27 338/week @ 2024-06-03 580/week @ 2024-06-10 1223/week @ 2024-06-17 20/week @ 2024-06-24 41/week @ 2024-07-01 76/week @ 2024-07-08

每月1,363次下载

MIT许可证

12KB
316

rjson : Rust的最小json解析器

  • 包含单个独立文件lib.rs,完成所有工作。
  • 在调用parse之前,使用自己的结构体实现特型。
  • 简单的实现可以是,为Value使用enum,相同的enum用于NullVec用于ArrayBTreeMap用于Object
  • 它只需要corealloc,不需要其他任何东西,包括std
  • no_std环境中,它需要一个全局分配器才能工作。

提示

  • 我们在数组和对象的最后一个项目/成员后允许使用逗号,
  • 我们将未转义的换行符视为普通字符,并忽略转义的换行符。
  • 我们不支持代理Unicode字符。
  • 我们使用f64来表示所有数字,但您也可以使用其他类型。注意:f64表示i52
  • 我们使用&[char],而不是&[u8],也不是&str
  • 没有stringifyencode,因为它们不应成为特型的部分。
  • 我们不返回None,而是简单地忽略数据后的字符。
  • 数据结束的位置通过index返回。您可以将它与len() - 1进行比较。
  • 此值在返回Option::None时也很有用,通过指示语法错误发生的位置。
  • parse可能返回所有可能的值,而不仅仅是ArrayObject

无运行时依赖