当前位置: 首页 > article >正文

C 语言之json库的使用

在C语言中,可以使用第三方库来解析和生成JSON数据。常用的JSON库包括cJSON和Jansson。

以下是使用cJSON库的示例代码:

  1. 安装cJSON库

首先需要下载并安装cJSON库。可以从官方网站下载源代码,并按照说明进行编译和安装。

  1. 包含头文件和使用cJSON库

在C语言代码中包含cJSON头文件,并使用cJSON库中的函数来解析和生成JSON数据。

#include <stdio.h>  
#include <stdlib.h>  
#include "cJSON.h"  
  
int main() {  
    // 解析JSON数据  
    char *json_data = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";  
    cJSON *root = cJSON_Parse(json_data);  
    if (root == NULL) {  
        printf("Error before: [%s]\n", cJSON_GetErrorPtr());  
        return 1;  
    }  
  
    // 获取JSON数据中的值  
    cJSON *name = cJSON_GetObjectItem(root, "name");  
    cJSON *age = cJSON_GetObjectItem(root, "age");  
    cJSON *city = cJSON_GetObjectItem(root, "city");  
    if (cJSON_IsString(name) && cJSON_IsNumber(age) && cJSON_IsString(city)) {  
        printf("Name: %s\n", cJSON_GetStringValue(name));  
        printf("Age: %d\n", cJSON_GetNumberValue(age));  
        printf("City: %s\n", cJSON_GetStringValue(city));  
    }  
  
    // 生成JSON数据  
    cJSON *person = cJSON_CreateObject();  
    cJSON_AddStringToObject(person, "name", "Alice");  
    cJSON_AddNumberToObject(person, "age", 25);  
    cJSON_AddStringToObject(person, "city", "San Francisco");  
    char *json_output = cJSON_Print(person);  
    printf("%s\n", json_output);  
    free(json_output);  
  
    // 释放内存  
    cJSON_Delete(root);  
    return 0;  
}


http://www.kler.cn/a/157742.html

相关文章:

  • 西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告
  • Hadoop进阶学习---HDFS分布式文件存储系统
  • 使用JDBC连接和操作数据库以及myBatis初级入门
  • MySQL笔记-第01章_数据库概述
  • Node 后端 框架 Nest js鉴权
  • Ruby和HTTParty库下载代码示例
  • Python高级数据结构——线段树(Segment Tree)
  • Stable Diffusion WebUI常用Tag收集
  • java FTP客户端获取文件流假死问题
  • Course2-Week2-神经网络的训练方法
  • 【Spark基础】-- 理解 Spark shuffle
  • 游戏mod制作--引擎与解包
  • Java 8 中 ReentrantLock 与 Synchronized 的区别
  • Failed to resolve org.junit.platform:junit-platform-launcher:1.9.3
  • C语言之if语句在生活中的应用
  • Debian Linux安装配置ibus rime中文输入法
  • React 好用的工具库
  • HarmonyOS开发(八):动画及网络
  • 公开Java框架开源到Maven中央仓库(避坑)
  • 数据资产怎么治理