python json库安装_jsonc库的安装以及简单使用
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库的安装以及简单使用相关推荐
- python json库安装_python怎么安装requests库
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装pip install requests 安装完成后import一下, ...
- python json库安装_【Python基础】安装python第三方库
pip命令行安装(推荐) 打开cmd命令行 安装需要的第三方库如:pip install numpy 在安装python的相关模块和库时,我们一般使用"pip install 模块名&quo ...
- python怎么安装requests库-python怎么安装requests库
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装pip install requests 安装完成后import一下, ...
- requests库怎么安装在python中-python安装requests库的实例代码
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下 ...
- Python之tushare:tushare库的简介、安装、使用方法之详细攻略
Python之tushare:tushare库的简介.安装.使用方法之详细攻略 目录 tushare库的简介 tushare库的安装 tushare库的使用方法 1.基础用法 tushare库的简介 ...
- 从零开始写Python爬虫---1.1 requests库的安装与使用
什么是爬虫? 爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的.所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到req ...
- 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 ...
- python之pip安装第三方库
库(Library) Python中库是借用其他编程语言的概念,没有特别具体的定义. 模块和包侧重于代码组织,有明确的定义.库强调的是功能性,而不是代码组织. 我们通常将某个功能的"模块的集 ...
- python都需要安装哪些库_python常用到哪些库?
Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用. 下面我们就来看一下python中常用到的库: 数值计算库: 1. ...
最新文章
- 大数据虚拟化:VMware正在虚拟化Hadoop
- 监控mysql的shell脚本_监控MySQL主从状态的shell脚本
- ubuntu 14.04使用devstack安装openstack mitaka版本
- eclipse mysql5.7_MySQL5.7、Navicate、jdk、Tomcat、eclipse全套配置及安装(win10)-Go语言中文社区...
- Linux磁盘管理与文件系统(实验详解,一看就懂)
- antix linux安装教程,antiX 19.1 发布,轻量级的桌面Linux发行版
- 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
- nginx支持php解析,upstream模块
- R12-表详解-总帐
- EMC抗扰度性能的EN和IEC标准有哪些?
- 从本科到研究生,看大疆工程师给你定制的机器人学习计划
- EXCEL 导入MSSqlserver数据库报错
- 自学编程到底有多难?
- CMUX协议学习总结
- 【Docker社区大会】WebAssembly:无需容器的 Docker——VMware技术总监 Daniel Lopez
- 伸展树(一) - 概念和C实现
- 论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
- 京东程序员离职怒删代码被判10个月,京东到家请人花三万恢复!
- 视觉问答综述(VQA Datasets Alogritgms and Future Challenge)
- 一文带你了解所有小程序平台
热门文章
- 【Java】jstack报错Unable to open socket file: target process not responding or HotSpot VM not loaded
- 95-235-065-源码-task-SourceStreamTask
- Kudu : NonRecoverableException: Got out-of-order key column
- Flink 1.9 : Wordcount报错:ClassNotFoundException: yarn.exceptions.YarnException
- 【安全】基于角色的访问控制
- map的四种遍历方式
- mysql外键依靠主键_mysql设置外键(主键依赖)
- 一文看懂JUC之AQS机制
- IDEA 2021.1正式发布,新增了这几个超实用功能!
- 面试中被问到HashMap的结构,1.7和1.8有哪些区别?这篇做深入分析!