本文将介绍
① JSON简介
② Jsoncpp读写操作
③ Jsoncpp函数介绍
④ Jsoncpp示例编程(VS2015) 下载示例
1. JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。JSON语法是 JavaScript 对象表示语法的子集,所以在Java,JavaScript等语言中使用起来是十分方便的,它们底层支持JSON读写。
JSON的官方网址 http://www.json.org/
JSON语法格式
JSON是键值对,数据书写格式是:名称/值对,名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值
"firstName": "Tommy"
JSON的值可以是数字、字符串、布尔逻辑值、数组、对象或null,对象在花括号中书写:
{"firstName":"Tommy" , "lastName":"Arm"}
数组在方括号中书写,数组可包含多个对象:
{
"employees":[
{ "name":"John" , "Age":26},
{ "name":"Anna" , "Age ":28 },
{ "name":"Peter" , "Age ":28 }
]
}
注意每个对象(花括号)中,键值对的键名是唯一的,下面写法会报错:
{ "firstName":"Tommy", " firstName ":"Arm" }
2. Jsoncpp读写操作
C++需要读写JSON文件,可使用Jsoncpp开源库,这个开源库是跨平台的。JSON的开源库很多,在官方网站底下有各种语言的Json开源库链接,推荐使用Jsoncpp。
Jsoncpp下载地址:https://github.com/open-source-parsers/jsoncpp
Jsoncpp有三个主要类:Value,Reader,Writer。注意Json::Value只能处理ANSI类型的字符串,如果程序使用Unicode编码,需要加一个转码函数。
工程使用Jsoncpp方法有俩
使用方法一:使用Jsoncpp生成的lib文件
解压下载的Jsoncpp文件,在jsoncpp-master /makefiles/msvc2010目录里找到jsoncpp.sln,用VS2010版本编译,默认生成静态链接库。在工程中引用,只需要包含include/json下的头文件及生成的.lib文件即可。
在需要使用的cpp包含lib文件:#pragmacomment(lib."json_msvc2010_libmt.lib")
缺点:Debug模式