00. 目录
文章目录
- 00. 目录
- 01. JSON概述
- 02. JSON基本结构
- 03. JSONCPP源码下载
- 04. JSONCPP安装方式一
- 05. JSONCPP安装方式二
- 06. 附录
01. JSON概述
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(JavaScript Object Notation)是一种轻量级的数据交换格式。它是基于 JavaScript 的一种字符串格式,独立于编程语言,可以用来存储和传输数据。JSON 数据可以是简单的数字、字符串、数组或其他复杂数据类型。它通常用于 Web 应用程序中,用于存储和传输数据,也可以用于其他应用程序中。 JSON 格式由一系列特定的字符组成,这些字符称为“键”和“值”。键通常是字符串,值可以是字符串、数字、布尔值、数组或另一个 JSON 对象。在 JSON 中,数组和对象是通过花括号 [] 和 {} 包裹起来的,每个元素由逗号 , 分隔。 JSON 具有以下特点:
- 简单易读:JSON 数据可以用简单的字符串表示,非常容易读取和编写。
- 数据结构灵活:JSON 数据可以是各种数据类型,包括数字、字符串、数组和对象等。
- 独立于语言:JSON 数据可以用于不同的编程语言,只需要一个 JSON 解析器。
- 可读性高:JSON 数据可以被人类直接读取,不需要转换为其他格式。
JSON (JavaScript Object Notation) is a lightweight data interchange format that is easy for humans to read and write, and easy for machines to parse and generate. JSON is a widely used format for storing and exchanging data between web servers and clients. In JSON, data is represented as plain text in a human-readable format, with the structure of the data represented by a set of key-value pairs within the text. Each key-value pair is enclosed in curly braces {} and separated by a colon :.
02. JSON基本结构
JSON基于两种结构:
- “名称/值”对的集合(A collection of name/value pairs)。不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。
这些都是常见的数据结构。目前,绝大部分编程语言都以某种形式支持它们。这使得在各种编程语言之间交换同样格式的数据成为可能。
03. JSONCPP源码下载
GitHub下载:https://github.com/open-source-parsers/jsoncpp
CSDN下载:jsoncpp-master.rar
Ubuntu中通过命令下载
deng@local:~$ wget https://github.com/open-source-parsers/jsoncpp/archive/master.zip -O jsoncpp-master.zip
deng@local:~$ unzip jsoncpp-master.zip
04. JSONCPP安装方式一
在Linux系统中,可以通过包管理器安装jsoncpp
库。以下是使用apt
在基于Debian的系统(如Ubuntu)中安装jsoncpp
的命令:
deng@local:~$ sudo apt update
deng@local:~$ sudo apt install libjsoncpp-dev
05. JSONCPP安装方式二
安装cmake工具
deng@local:~/tools$ sudo apt install cmake
解压jsoncpp
deng@local:~/car$ unzip jsoncpp-master.zip
进入jsoncpp-master目录
deng@local:~/car$ cd jsoncpp-master/
创建json_install目录
deng@local:~/car/jsoncpp-master$ mkdir ~/tools/json_install -p
deng@local:~/car/jsoncpp-master$
创建build目录和进入build目录
deng@local:~/car/jsoncpp-master$ mkdir build
deng@local:~/car/jsoncpp-master$ cd build/
执行cmake命令
# -DCMAKE_INSTALL_PREFIX=/home/deng/tools/json_install 指定安装目录
deng@local:~/car/jsoncpp-master/build$ cmake -DCMAKE_INSTALL_PREFIX=/home/deng/tools/json_install ../
编译
deng@local:~/car/jsoncpp-master/build$ make -j4
安装
deng@local:~/car/jsoncpp-master/build$ make install
查看是否安装成功
deng@local:~/tools$ ls
curl_install json_install
deng@local:~/tools$ tree json_install/
json_install/
├── include
│ └── json
│ ├── allocator.h
│ ├── assertions.h
│ ├── config.h
│ ├── forwards.h
│ ├── json_features.h
│ ├── json.h
│ ├── reader.h
│ ├── value.h
│ ├── version.h
│ └── writer.h
└── lib
├── cmake
│ └── jsoncpp
│ ├── jsoncppConfig.cmake
│ ├── jsoncppConfigVersion.cmake
│ ├── jsoncpp-namespaced-targets.cmake
│ ├── jsoncpp-targets.cmake
│ └── jsoncpp-targets-release.cmake
├── libjsoncpp.a
├── libjsoncpp.so -> libjsoncpp.so.25
├── libjsoncpp.so.1.9.5
├── libjsoncpp.so.25 -> libjsoncpp.so.1.9.5
├── objects-Release
│ └── jsoncpp_object
│ ├── json_reader.cpp.o
│ ├── json_value.cpp.o
│ └── json_writer.cpp.o
└── pkgconfig
└── jsoncpp.pc
8 directories, 23 files
deng@local:~/tools$