【C 】Ubuntu安装jsoncpp

9,580次阅读
没有评论

共计 3198 个字符,预计需要花费 8 分钟才能阅读完成。

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 成为理想的数据交换语言。

【C】Ubuntu 安装 jsoncpp

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 命令


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$ 

06. 附录

原文地址: 【C】Ubuntu 安装 jsoncpp

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-07发表,共计3198字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)