C++处理json数据——jsoncpp在Visual Studio 2010 的配置与使用(上)

来源:互联网 发布:淘宝上传图片不清楚 编辑:程序博客网 时间:2024/06/18 15:14

JSON


JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

  • 百度百科

  • 基本形式

     {         "name" : "张三",         "sex""男",         "email""123456789@qq.com",         "phone": "13323332333",         "stature":182 }

jsoncpp


 jsoncpp是一个C++库,可以使用它来通过C++代码来生成、解析json文件。同时也可以进行各种格式的字符串转换。
  • jsoncpp–Github地址:
    https://github.com/open-source-parsers/jsoncpp
  • 官方文档:
    http://jsoncpp.sourceforge.net/old.html

jsoncpp 在VS2010下的配置


本文只介绍在windows平台下jsoncpp的基本操作,有关jsoncpp多平台配置和高级操作详情请见官方文档。

一、在github 上fork工程,或者通过其他方式获取到jsoncpp的源文件

点击右边clone or download

二、查看解压后的工程目录并编译文件

这里写图片描述

 1.打开目录\makefiles\vs71 2.用VS2010或更高级Visual Studio 打开工程jsoncpp.sln 3.VS会提示当前项目版本较低,按照提示升级该工程 4.在“解决方案资源管理器”中右键点击lib_json,选择“仅用于项目”,“仅生成lib_json” 5.再次右键点击lib_json,这次选择“仅链接” 6.将工程转为Release模式 7.再次进行4,5步操作,这就生成了Debug和Release两个版本的jsoncpp

生成

三、在你的工程中配置jsoncpp

  • 1.进入jsoncpp-master\build\vs71目录,此时你会发现多出了Debug 和Realse目录
    目录
  • 2.进入debug\lib_json目录,把目录下的 .lib文件复制出来使其位于debug目录下
  • 3.为了方便,可以给.lib文件重命名如 jsoncpp.lib
    重命名
  • 4.对realse目录也进行上两步操作
  • 5.现在可以将jsoncpp-master复制到C盘根目录(也可以不复制,但要在以后的配置中路径要对应)
  • 6.新建一个工程或打开你想要配置的工程
  • 7.打开[项目]>[属性],如下图,在附加包含目录中选择位于C盘jsoncpp目录下的include文件夹
    选择#include
    添加目录
  • 8.在下面[链接器]中找到附加库目录选择到C:\jsoncpp-master\build\vs71\debug
    选择目录
    选择目录
  • 9.在[链接器]->[输入]的附加依赖项属性中加入jsoncpp.lib(你如果重命名过,那么就应该填写相应的文件名)
    附加依赖项
  • 10.在[C/C++]中的运行库设置中选择多线程调试
    运行库设置
  • 11.运行简单如下代码检查配置
#include "stdafx.h"#include <iostream>using namespace std;#include "json/json.h"int _tmain(int argc, _TCHAR* argv[]){    Json::Value root;    root["test"]="this is a test json";    cout<<root<<endl;    system("pause");    return 0;}
  • 12.运行结果
    运行结果

四、以上是Debug版的配置过程,在配置Release版时:

       1)选择工程的项目属性配置页为Release       2)在第8步选择目录时选择相应路径的\Release那个目录       3)在第9步同样需要添加jsoncpp.lib       4)第10步选择多线程(MT)
0 0
原创粉丝点击