if 0

1:cpp在linux下的配置

JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。

关于 JSON 更具体的信息,可参见 JSON 官网:http://www.json.org。

jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。

下面开始说明配置方法:

1、先下载scons:(http://www.scons.org/)(版本为scons-2.1.0)并解压;

设定环境变量 # export MYSCONS=解压的路径

2、scons部署:进入scons解压目录(假定为MYSCONS),执行pythonMYSCONS/setup.py install将scons部署完毕。

3、使用scons编译jsoncpp(版本为jsoncpp-src-0.5.0)

进入jsoncpp解压目录,执行命令: # python $MYSCONS/script/scons.py platform=linux-gcc

**注:若果提示没找到scons.py则该为/script/scons platform = linux-gcc

将jsoncpp编译,在解压目录jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了两个文件:

libjson_linux-gcc-4.6.1_libmt.a

libjson_linux-gcc-4.6.1_libmt.so

把.a文件拷贝到/usr/local/lib 目录下,为了方便编译给它改个名字libjsonlib.a

4、将jsoncpp目录下的头文件件拷到自己的工程里就可以使用了。

注意在编译里指定动态链接库的地址。 -ljsonlib

例子代码:

include

include

include “json/json.h”

int main(void)

{

Json::Value root;

Json::FastWriter fast_writer;

root["REGION_ID"] = "600901";

root["DATA_TOTAL_NUM"] = "456278";

std::cout << fast_writer.write(root) << std::endl;

return 0;

}

输出:{“DATA_TOTAL_NUM”:”456278”,”REGION_ID”:”600901”}

endif

else

jsonc库的安装以及简单使用

一、安装

下载完的源码解压后,在目录下的个README.MD文件,我们根据文件中提示的步骤对jonsc进行安装:

下载安装时必要的工具:libtool, gcc, autoconf。我们可以使用软件包管理工具安装它们。比如在ubuntu下,可以使用命令

sudo apt-get install gcc libtool autoconf

安装这三个工具。

2. 按照README.MD文件,运行以下命令

sh autogen.sh

./configure

make

sudo make install

3. 安装完后,一般会在/usr/local/include下生成jsonc的头文件,以及在/usr/local/lib下生成jsonc的库文件,检查一下即可。

include

include

include

include

include “json.h”

int main(int argc, char **argv)

{

struct json_object *new_obj;

MC_SET_DEBUG(1);

// I added some new lines… not in real program

new_obj = json_tokener_parse(“/* more difficult test case */ { \”glossary\”: { \”title\”:

\”example glossary\”, \”pageCount\”: 100, \”GlossDiv\”: { \”title\”: \”S\”, \”GlossList\”:

[ { \”ID\”: \”SGML\”, \”SortAs\”: \”SGML\”, \”GlossTerm\”: \”Standard Generalized Markup Language\”, \”Acronym\”: \”SGML\”, \”Abbrev\”: \”ISO 8879:1986\”, \”GlossDef\”:

\”A meta-markup language, used to create markup languages such as DocBook.\”,

\”GlossSeeAlso\”: [\”GML\”, \”XML\”, \”markup\”] } ] } } }”);

printf(“new_obj.to_string()=%s\n”, json_object_to_json_string(new_obj));

new_obj = json_object_object_get(new_obj, “glossary”);

printf(“new_obj.to_string()=%s\n”, json_object_to_json_string(new_obj));

new_obj = json_object_object_get(new_obj, “pageCount”);

int pageCount = json_object_get_int(new_obj);

printf(“Page count = %d”, pageCount);

json_object_put(new_obj);

return 0;

}

下面,我们对这个例子进行解析:

第8行: 声明一个struct json_object类型的指针,struct json_object是用于存储json数据的一种结构类型。

第11行: 使用json_tokener_parse()函数,将字符串化的json数据转化为struct json_object类型的json

第17行: 与第11行的作用相反,json_object_to_json_string()函数可以将struct json_object类型的json数据转化为字符串。

第18行: 使用json_object_object_get()函数,从struct json_object的json数据中,寻找key为”glossary”的value。并将这个value作为一个新的struct json_object类型返回。

第21行: json_object_get_int()函数可以将类型为struct json_object的json数据转化为相应的int类型的数据。与此类似,也有json_object_get_string(), json_object_get_double()等一系列方法。

第23行: json_object_put()函数类似于free()函数,释放之前分配的new_object所占用的空间。

其实,在安装Jsonc库之后,我们可以在jsonc的目录下面找到test文件夹,下面有很多jsonc库的应用实例可以参考。上面所引用的博客中的例子,也是改自于test文件夹下面的程序。

上面的例子,只是解释如何从一个json字符串中获取到必要的信息,如果需要组装自己的json结构,可以参考jsonc API 文档页面:http://json-c.github.io/json-c/

Share this:

endif

if 0

下载cJSON.h和cJSON.c,把他们放在项目里一起编译

注:把#include”cJSON.h”放在头文件中的最后面.

endif

python json库安装_jsonc库的安装以及简单使用相关推荐

  1. python json库安装_python怎么安装requests库

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装pip install requests 安装完成后import一下, ...

  2. python json库安装_【Python基础】安装python第三方库

    pip命令行安装(推荐) 打开cmd命令行 安装需要的第三方库如:pip install numpy 在安装python的相关模块和库时,我们一般使用"pip install 模块名&quo ...

  3. python怎么安装requests库-python怎么安装requests库

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装pip install requests 安装完成后import一下, ...

  4. requests库怎么安装在python中-python安装requests库的实例代码

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下 ...

  5. Python之tushare:tushare库的简介、安装、使用方法之详细攻略

    Python之tushare:tushare库的简介.安装.使用方法之详细攻略 目录 tushare库的简介 tushare库的安装 tushare库的使用方法 1.基础用法 tushare库的简介 ...

  6. 从零开始写Python爬虫---1.1 requests库的安装与使用

    什么是爬虫? 爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的.所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到req ...

  7. Jupyter lab add kernel Python+Julia+R 【jupyter Notebook 切换Python环境】and【在jupyter Notebook中安装第三方库】

    新增虚拟环境 conda create -n py2 python=2.7 进入python2的环境 conda activate py2 安装python2的内核并应用 python2 -m pip ...

  8. python之pip安装第三方库

    库(Library) Python中库是借用其他编程语言的概念,没有特别具体的定义. 模块和包侧重于代码组织,有明确的定义.库强调的是功能性,而不是代码组织. 我们通常将某个功能的"模块的集 ...

  9. python都需要安装哪些库_python常用到哪些库?

    Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用. 下面我们就来看一下python中常用到的库: 数值计算库: 1. ...

最新文章

  1. 大数据虚拟化:VMware正在虚拟化Hadoop
  2. 监控mysql的shell脚本_监控MySQL主从状态的shell脚本
  3. ubuntu 14.04使用devstack安装openstack mitaka版本
  4. eclipse mysql5.7_MySQL5.7、Navicate、jdk、Tomcat、eclipse全套配置及安装(win10)-Go语言中文社区...
  5. Linux磁盘管理与文件系统(实验详解,一看就懂)
  6. antix linux安装教程,antiX 19.1 发布,轻量级的桌面Linux发行版
  7. 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
  8. nginx支持php解析,upstream模块
  9. R12-表详解-总帐
  10. EMC抗扰度性能的EN和IEC标准有哪些?
  11. 从本科到研究生,看大疆工程师给你定制的机器人学习计划
  12. EXCEL 导入MSSqlserver数据库报错
  13. 自学编程到底有多难?
  14. CMUX协议学习总结
  15. 【Docker社区大会】WebAssembly:无需容器的 Docker——VMware技术总监 Daniel Lopez
  16. 伸展树(一) - 概念和C实现
  17. 论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
  18. 京东程序员离职怒删代码被判10个月,京东到家请人花三万恢复!
  19. 视觉问答综述(VQA Datasets Alogritgms and Future Challenge)
  20. 一文带你了解所有小程序平台

热门文章

  1. 【Java】jstack报错Unable to open socket file: target process not responding or HotSpot VM not loaded
  2. 95-235-065-源码-task-SourceStreamTask
  3. Kudu : NonRecoverableException: Got out-of-order key column
  4. Flink 1.9 : Wordcount报错:ClassNotFoundException: yarn.exceptions.YarnException
  5. 【安全】基于角色的访问控制
  6. map的四种遍历方式
  7. mysql外键依靠主键_mysql设置外键(主键依赖)
  8. 一文看懂JUC之AQS机制
  9. IDEA 2021.1正式发布,新增了这几个超实用功能!
  10. 面试中被问到HashMap的结构,1.7和1.8有哪些区别?这篇做深入分析!