Jsoncpp使用具体解释以及链接问题解决
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
易于人阅读和编写。
同一时候也易于机器解析和生成。
它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。
JSON採用全然独立于语言的文本格式,可是也使用了类似于C语言家族的习惯(包含C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record)。结构(struct)。字典(dictionary),哈希表(hash table),有键列表(keyed list)。或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。
在大部分语言中。它被理解为数组(array)。
这些都是常见的数据结构。其实大部分现代计算机语言都以某种形式支持它们。
这使得一种数据格式在相同基于这些结构的编程语言之间交换成为可能。
使用JsonCpp步骤:
一、下载JsonCpp
二、编译Lib
大家用VS打开\jsoncpp-src-0.5.0\jsoncpp-src-0.5.0\makefiles\vs71文件夹下的project文件,然后编译就能够生成相关的Lib库(默认生成:json_vc71_libmt.lib)
三、创建第二种project,将json_vc71_libmt.lib库加入到相关路径,并设置对应的project属性。同一时候源代码例如以下:
//testjson
ifstream ifs;
ifs.open("testjson.json");
assert(ifs.is_open()); Json::Reader reader;
Json::Value root;
if ((!reader.parse(ifs, root, false)))
{
return false;
} std::string name = root["name"].asString();
int age = root["age"].asInt();
链接库和加入头文件:
#pragma comment(lib, "json_vc71_libmt.lib")
#include "../jsoncpp/include/json.h"
#include<fstream>
#include <cassert>
using namespace std;
须要注意的是。我们在执行新project可能出现下述错误:
问题一:error LINK2038:检測到"RuntimeLibrary" 的不匹配项
解决方法:将新project的project编译选项和jsoncppproject的编译选项设置为同样:
问题二:json_value.asm: No such file or directory
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
解决方法:将jsoncppproject的编译选项中的回报编程序输出设置为无列表:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
參考博客:
Jsoncpp使用具体解释以及链接问题解决的更多相关文章
- ld链接问题解决
http://stackoverflow.com/questions/480764/linux-error-while-loading-shared-libraries-cannot-open-sha ...
- Redis具体解释与常见问题解决方式
Redis简单介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset ...
- 【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势
学习cocos2d-x和cocos creator的圈子:cocos2d-x:436689827 cocos creator:124727696 本篇文章主要内容:jsoncpp的使用,Coco ...
- MAC 远程桌面链接 证书或链接无效
RDC --> 首选项 --> 安全性 --> 勾选即使验证失败也要链接. 问题解决.
- HTMl链接- target/ name
下面解释一下链接标签的另外两个属性:target和name HTML 链接 - target 属性 使用 Target 属性,你可以定义被链接的文档在何处显示. 下面的这行会在新窗口打开文档: < ...
- java链接mysql
比喻不是很合适,但能凑合用 解释 javaweb链接数据步骤 加载JDBC驱动 Class.forName("com.mysql.jdbc.Driver);//加载JDBC驱动 提供链接数据 ...
- 【VS2015】链接器错误link2001
昨天的D3d第一章代码自己打了一遍结果运行报错LINK2001,无法解析外部的MinMain. 解决方法: 项目[属性]→[链接器]→[系统]→[子系统(subsystem)]改为控制台或者留空也可以 ...
- [转]php-fpm配置具体解释
[转]php-fpm配置具体解释 php-fpm具体解释 原文链接:http://php-fpm.anight.org/wiki:http://www.php-fpm.com/翻译:http://sy ...
- CNN中feature map、卷积核、卷积核的个数、filter、channel的概念解释
CNN中feature map.卷积核.卷积核的个数.filter.channel的概念解释 参考链接: https://blog.csdn.net/xys430381_1/article/detai ...
随机推荐
- javascript实现自动添加文本框功能
转自:http://www.cnblogs.com/damonlan/archive/2011/08/03/2126046.html 昨天,我们公司的网络小组决定为公司做一个内部的网站,主要是为员工比 ...
- swift where 的作用
条件限定: 类型限定: 结构化查询模式. 用于结构体.记录字段.
- 3ds Max实例教程-顽皮的小孩
本教程介绍使用3ds Max制作设计一个顽皮的小孩,这个作品的灵感来源于作者的亲身经历,也是以真实人物为原型做出来这么一个小人. 作者: Claudius Vesting 使用软件:3ds Max,P ...
- vue循环遍历给div添加id
html部分 <div class="img-preview" v-for="(img,i) of list" :key="img.imageK ...
- npm包的上传npm包的步骤,与更新和下载步骤
官网: ======================================================= 没有账号可以先注册一个,右上角点击“Sign Up",有账号直接点击“ ...
- 二叉排序树(B-Tree)-c实现
这个二叉排序树写完了,虽然还有些bug,但还是很高兴的. 主要实现二叉排序树的构建.(*表示稍微重要点) 二叉排序树的打印. 二叉排序树的删除. 代码里的三种情况都测了 顺便附送一个简单的中序遍历,递 ...
- Centos7 安装 opencv
Centos7 安装 opencv CentOS Linux release 7.2.1511 (Core) 1.安装依赖 yum install https://dl.fedorap ...
- Javascript系列——对象元素的数组去重实现
概要 这是一篇记录文,记录数组操作对象去重的实现. 需求 有这样一个数组 [{ _id: 123, name: '张三' },{ _id: 124, name: '李四' },{ _id: 123, ...
- 《Spring技术内幕》笔记-Spring的设计理念和总体架构
1.Spring的主要子项目: -1.Spring Framework(Core):Spring项目的核心.提供IoC,AOP,MVC等核心功能. -2.Spring Web Flow ...
- java 自定义实现base64编码转换
1.base64编码转换 所谓base64编码,即按照规则把字符转化为"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 ...