JosanSun / JsonParser

Try to parse Josan text to C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Json解析器

文件说明

  • leptjsonC

这是将Json文件转为C语言格式的数据。主要参考了叶劲峰(Milo Yip)老师的json-tutorial项目进行少量改写和实现的。主要编程语言风格是C语言。

  • leptjsonCplusplus

这是在前面的基础上,将Json的C语言解析器转换为Json的C++语言解析器。期间,会尽量运用一些C++的高级语言技巧

  • JSON11

这是这个项目的最终目标。看懂和实现Json11,源项目来自Dropbox的Json11里面运用许多C++11的特性

Json介绍

Json是由道格拉斯·克罗克福特(Douglas Crockford)设计出来的,是一种轻量级的数据交换语言,易于阅读和理解。Json是Javascript的一个子集,数据格式与语言无关。JSON的文件扩展名是.json

预期成果

  • 获得一个可以成功解析JSON数据格式的解析器,包括C和C++两个版本。
  • 掌握cmake工具的使用方法
  • 熟悉测试驱动开发(TDD)的过程

项目进展

  • leptjsonC

    • leptjsonC-CH01 null和boolean型解析
    • leptjsonC-CH02 number型解析
    • leptjsonC-CH03 string型解析1
    • leptjsonC-CH04 string型解析2
    • leptjsonC-CH05 array型解析
    • leptjsonC-CH06 object型解析
    • leptjsonC-CH07 JSON生成器
    • 20170824 加入内存泄漏检查(MS CRT)
  • leptjsonCplusplus

    • leptjsonCplusplus version 1.0 20170928 OK 将leptjsonC转化为C++形式,通过所有测试用例
  • JSON11
    Json11源代码已看懂。 20170929 OK

  • 自己继续造轮子方向

    • 尝试加入异常机制来修改错误解析的情况
    • 尽可能加入智能指针

相关资料

  1. JSON介绍
  2. JSON标准官方文件 ECMA-404
  3. json-tutorial叶老师项目地址
  4. JSON11项目地址

About

Try to parse Josan text to C++


Languages

Language:HTML 47.4%Language:C 28.1%Language:JavaScript 12.0%Language:C++ 7.2%Language:CSS 5.4%