Linux下Json-c库的配置和使用

一:配置

 

1,下载:json-c-0.9.tar.gz

2,解压:tar zxvf json-c-0.9.tar.gz

3,切换到json-c 文件夹,执行以下命令

 

cd json-c-0.9/  
# ./configure  
# make  
# make install  

 在非root用户下,make install 出错。所以我切换到root用户。

4,查看是否编译正确

在目录/usr/local/include/json/下有如下文件:

json.h
bits.h
debug.h
linkhash.h
arraylist.h
printbuf.h
json_util.h
json_object.h
json_object_private.h
json_tokener.h

在目录/usr/local/lib/下有如下文件:

libjson.so.0.0.1
libjson.so.0 -> libjson.so.0.0.1
libjson.so -> libjson.so.0.0.1
libjson.la
libjson.a

 5,在/etc/ld.so.conf文件中添加此lib目录

include /usr/local/lib

6,执行ldconfig或/sbin/ldconfig 或者更改环境变量export LD_LIBRARY_PATH = /usr/local/lib

二:编译

 testJson.cpp

#include <iostream>
#include <string>
#include "json.h"
using namespace :: std;

int main(int argc, char **argv)
{
        json_object *new_obj;

        string str="{\"Lon\":\"121.42205\",\"Lat\":\"31.32118\"}";
        const char *p=str.c_str();
         new_obj = json_tokener_parse(p);
        
         cout<<json_tokener_parse(p)<<endl;

        if (is_error(new_obj)) {
        	if (new_obj==null) {
        	cout<<"No"<<endl;
                return 0;

        } else {
        	cout<<"Yes"<<endl;
                return 1;
      }return 0;
}

 编译

g++ -ljson -I/usr/local/include/json/ -L/usr/local/lib/ testJson.cpp

 

 

 

你可能感兴趣的:(linux,json-c)