手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下Json库的编译及代码测试

[日期:2013-03-25] 来源:Linux社区  作者:huangminqiang [字体: ]

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

一、Json基础

JSON(JavascriptObject Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是在Javascript的一个子集,但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)。

例如,现创建一个新的 JavaScript 变量,然后将 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
相关资讯       json  Linux Json  Json测试 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款