Json语法解析
来源:互联网 发布:算法概念和特征 编辑:程序博客网 时间:2024/05/17 00:14
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。简单的说,它是一种数据格式,一般用于不同的服务器之间传递数据。比如,一个web服务器要给另一个服务器传递一个信息:馒头8个。怎么传?这时可以把这个信息封装成json格式({“馒头”:8}),再传出去,对端服务器对json进行解析,就能得到对应的信息。
目前,不管是在linux系统上,还是java环境中,都有现成的json库。但是,在一些小巧玲珑的嵌入式操作系统中,这些库显得臃肿了。本人刚好就碰到了这种情况,所以要自己实现一个简单的json解析功能。
首先,从语法开始了解。网上有很多语法图,这里搬一个过来。
相信语法图大家都不陌生,那么,接下来对语法图进行分析。
首先,定义几个对象:
然后定义几个堆栈操作:
其中,入栈不解释。出栈,一般会抛出一个对象出来,这个对象会作为新的输入,推动状态机向前动。获取到键和获取到值,主要是为了在获取到这两个对象时,进行相关记录。步进和进入两个操作的区别在于要不要从原始字符串中输入字符。
接着对输入的字符和对象进行分类:
最后,开始状态机的构造:
这个状态机,共有40个状态,每个状态有多个输入可以驱动,没有定义的输入,则表示语法错误。每个输入都对应一个下一状态ID,动作,和输出对象。状态机运行时,对于同一个状态的不同输入,按索引值从小到大的优先级进行匹配。语法图和状态机中,都不包含对额外空字符的解析。
OK,到此,编码前的准备基本结束。
编码,测试桩,Makefile等资源已上传:http://download.csdn.net/detail/zhfk2004/8342233
- JSON【介绍、语法、解析JSON】
- Json语法解析
- JSON 语法 及 解析
- JSON语法解析
- json语法解析器
- Json -- 语法和示例,javascript 解析Json
- JSON语法及解析,序列化
- JSON语法及其在android下的解析-->笔记一
- json解析 原理,或者是oc基础语法
- JSON语法
- JSON 语法
- JSON语法
- JSON 语法
- JSON 语法
- json语法
- json语法
- JSON语法
- JSON语法
- delphi中WEBBrowser网页JS函数调用delphi函数
- 有些东西,我们还不知道
- 使用hash方法切割文件
- java 练习------创建线程,获取线程对象及名称,线程状态
- windows7系统Prolific USB-to-Serial Comm Port问题
- Json语法解析
- Class.forName(String className)使用哪个类加载器?
- JSP一点总结
- 二分查找法
- apache2.2.22 嵌入式移植403访问权限问题(You don't have permission to access / on this server)
- 转角遇到大神
- webbrowser精华内容
- 四种遍历map的方法
- 正则表达式(整理)