设为首页 加入收藏

TOP

Linux下Json库的编译及代码测试
2014-11-24 07:46:13 来源: 作者: 【 】 浏览:0
Tags:Linux Json 编译 代码 测试

大部分情况下,我们需要对字符串进行解析,判断参数开始及结尾才能获取对我们有用的信息/参数,如果使用Json库,那对字符串的解析就显得非常的easy了,而Jsoncpp是用于c++的,让我们拭目以待吧。


一、Json基础


JSON(java scriptObject Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是在java script的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON建构有两种结构:


1) “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。


2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。


例如,现创建一个新的 java script 变量,然后将 JSON格式的数据字符串直接赋值给它:


varpeople = {


"programmers":[


{"firstName": "Brett", "lastName":"McLaughlin","email": "aaaa" },


{"firstName": "Jason","lastName":"Hunter", "email": "bbbb" },


{"firstName": "Elliotte","lastName":"Harold", "email": "cccc" }


],


"authors":[


{"firstName": "Isaac", "lastName":"Asimov", "genre": "science fiction" },


{"firstName": "Tad", "lastName":"Williams", "genre": "fantasy" },


{"firstName": "Frank", "lastName":"Peretti", "genre": "christian fiction" }


],


"musicians":[


{"firstName": "Eric", "lastName":"Clapton", "instrument": "guitar" },


{"firstName": "Sergei", "lastName":"Rachmaninoff", "instrument": "piano" }


]}


这非常简单;现在 people包含前面看到的 JSON 格式的数据。


二、编译Json库


jsoncpp是一个c++封装的json包,跨平台支持windows、linux、unix等多系统。在windows 下面使用比较简单,直接往vc里面添加项目就可以了。linux下面编译需要使用到scons,scons是python工具,需要先安装好python。


1.下载源码包并解压scons-2.2.0.tar.gz


[root@localhost nfs]#tarxzf scons-2.2.0.tar.gz


[root@localhostnfs]#cd scons-2.2.0


[root@localhostscons-2.2.0]# ls


CHANGES.txt MANIFEST README.txt sconsign.1 setup.cfg


engine os_spawnv_fix.diff RELEASE.txt scons-time.1 setup.py


LICENSE.txt PKG-INFO scons.1 script


2.设置环境变量(为scons-2.2.0的目录)


[root@localhost jsoncpp-src-0.5.0]#export MYSCONS=/work/nfs/scons-2.2.0


[root@localhost jsoncpp-src-0.5.0]#export SCONS_LIB_DIR=$MYSCONS/engine


3.下载源码包并解压jsoncpp-src-0.5.0.tar.gz


[root@localhost nfs]# tar xzfjsoncpp-src-0.5.0.tar.gz


[root@localhostnfs]# cd jsoncpp-src-0.5.0


[root@localhostjsoncpp-src-0.5.0]#ls


AUTHORS doxybuild.py makefiles scons-tools test


devtools include makerelease.py SConstruct version


doc LICENSE README.txt src


4.编译


[root@localhostjsoncpp-src-0.5.0]#python$MYSCONS/script/scons platform=linux-gcc


[root@localhostjsoncpp-src-0.5.0]# ls include/json/


autolink.h features.h json.h value.h //头文件


config.h forwards.h reader.h writer.h


[root@localhostjsoncpp-src-0.5.0]#ls libs/linux-gcc-4.1.2/


libjson_linux-gcc-4.1.2_libmt.a libjson_linux-gcc-4.1.2_libmt.so //库


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 编程中的错误解析 下一篇SSH多对一之便捷之道

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)