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

企业网站设计制作教程wordpress全站静态

企业网站设计制作教程,wordpress全站静态,业务员怎样网上找客户,网站栏目策划 有思想的新闻cJSON 是一个用 C 语言编写的轻量级 JSON 解析库,旨在提供简单、高效的方式来处理 JSON 数据。它适用于需要解析或生成 JSON 数据的各种应用场景,尤其是资源受限的嵌入式系统或对性能有较高要求的项目。 https://github.com/DaveGamble/cJSON/releases …

cJSON 是一个用 C 语言编写的轻量级 JSON 解析库,旨在提供简单、高效的方式来处理 JSON 数据。它适用于需要解析或生成 JSON 数据的各种应用场景,尤其是资源受限的嵌入式系统或对性能有较高要求的项目。

https://github.com/DaveGamble/cJSON/releases 

typedef struct cJSON
{/* next/prev 允许您遍历数组/对象链。也可以使用 GetArraySize/GetArrayItem/GetObjectItem */struct cJSON *next;struct cJSON *prev;/* 数组或对象项将有一个 child 指针,指向数组/对象中项目的链 */struct cJSON *child;/* 项目的类型,如上所述 */int type;/* 如果 type == cJSON_String 或 type == cJSON_Raw,则为项目的字符串值 */char *valuestring;/* 写入 valueint 已被弃用,请使用 cJSON_SetNumberValue 代替 */int valueint;/* 如果 type == cJSON_Number,则为项目的数字值 */double valuedouble;/* 如果该项目是对象的孩子,或者在对象子项列表中,则为项目的名称字符串 */char *string;
} cJSON;

 cJSON 库的常用函数接口的表格形式,包含每个函数的简要说明和示例代码。这些函数涵盖了创建、解析、修改和输出 JSON 数据的主要操作。

函数接口功能说明示例代码
解析 JSON
cJSON *cJSON_Parse(const char *value)解析一个 JSON 字符串并返回一个指向 cJSON 结构体的指针。c<br>cJSON *json = cJSON_Parse("{\"name\": \"Alice\"}");<br>if (json == NULL) {<br> // 处理错误<br>}<br>
void cJSON_Delete(cJSON *c)释放由 cJSON_Parse 或其他创建函数分配的内存。c<br>cJSON_Delete(json);<br>
创建 JSON
cJSON *cJSON_CreateNull(void)创建一个表示 null 的 JSON 节点。c<br>cJSON *nullItem = cJSON_CreateNull();<br>
cJSON *cJSON_CreateBool(cJSON_bool boolean)创建一个布尔值的 JSON 节点。c<br>cJSON *boolItem = cJSON_CreateBool(1); // true<br>
cJSON *cJSON_CreateNumber(double num)创建一个数字值的 JSON 节点。c<br>cJSON *numberItem = cJSON_CreateNumber(123.45);<br>
cJSON *cJSON_CreateString(const char *string)创建一个字符串值的 JSON 节点。c<br>cJSON *stringItem = cJSON_CreateString("Hello, World!");<br>
cJSON *cJSON_CreateArray(void)创建一个空的 JSON 数组。c<br>cJSON *array = cJSON_CreateArray();<br>
cJSON *cJSON_CreateObject(void)创建一个空的 JSON 对象。c<br>cJSON *object = cJSON_CreateObject();<br>
修改 JSON
void cJSON_AddItemToArray(cJSON *array, cJSON *item)向 JSON 数组中添加一个项目。c<br>cJSON_AddItemToArray(array, cJSON_CreateString("Item1"));<br>
void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)向 JSON 对象中添加一个键值对。c<br>cJSON_AddItemToObject(object, "key", cJSON_CreateNumber(1));<br>
void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *newitem)替换 JSON 对象中指定键的值。c<br>cJSON_ReplaceItemInObject(object, "key", cJSON_CreateNumber(2));<br>
查询 JSON
cJSON *cJSON_GetObjectItemCaseSensitive(cJSON *object, const char *string)获取 JSON 对象中指定键的项,区分大小写。c<br>cJSON *item = cJSON_GetObjectItemCaseSensitive(object, "key");<br>
cJSON_bool cJSON_HasObjectItem(cJSON *object, const char *string)检查 JSON 对象中是否存在指定键。c<br>if (cJSON_HasObjectItem(object, "key")) {<br> // 处理存在<br>}<br>
输出 JSON
char *cJSON_Print(cJSON *item)将 cJSON 结构体转换为格式化的 JSON 字符串。c<br>char *json_str = cJSON_Print(json);<br>printf("%s\n", json_str);<br>
char *cJSON_PrintUnformatted(cJSON *item)将 cJSON 结构体转换为无格式的 JSON 字符串(不带空格和换行)。c<br>char *json_str = cJSON_PrintUnformatted(json);<br>printf("%s\n", json_str);<br>
其他常用函数
cJSON_bool cJSON_IsNull(cJSON *item)检查一个 cJSON 项是否为 nullc<br>if (cJSON_IsNull(item)) {<br> // 处理 null<br>}<br>
cJSON_bool cJSON_IsBool(cJSON *item)检查一个 cJSON 项是否为布尔值。c<br>if (cJSON_IsBool(item)) {<br> // 处理布尔值<br>}<br>
cJSON_bool cJSON_IsNumber(cJSON *item)检查一个 cJSON 项是否为数字。c<br>if (cJSON_IsNumber(item)) {<br> // 处理数字<br>}<br>
cJSON_bool cJSON_IsString(cJSON *item)检查一个 cJSON 项是否为字符串。c<br>if (cJSON_IsString(item)) {<br> // 处理字符串<br>}<br>

示例代码

一个综合示例,展示了如何使用上述函数来创建、解析、修改和输出 JSON 数据:

#include <stdio.h>
#include <cjson/cJSON.h>int main()
{// 创建 JSON 对象cJSON *root = cJSON_CreateObject();cJSON_AddItemToObject(root, "name", cJSON_CreateString("Alice"));cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(30));cJSON_AddItemToObject(root, "isStudent", cJSON_CreateBool(0));// 创建 JSON 数组并添加到对象中cJSON *courses = cJSON_CreateArray();cJSON_AddItemToArray(courses, cJSON_CreateString("Math"));cJSON_AddItemToArray(courses, cJSON_CreateString("Science"));cJSON_AddItemToArray(courses, cJSON_CreateString("History"));cJSON_AddItemToObject(root, "courses", courses);// 输出 JSON 字符串char *json_str = cJSON_Print(root);printf("Original JSON:\n%s\n", json_str);// 解析 JSON 字符串cJSON *parsed = cJSON_Parse(json_str);if (parsed == NULL){printf("Error parsing JSON\n");cJSON_Delete(root);free(json_str);return 1;}// 修改 JSON 数据cJSON_ReplaceItemInObject(parsed, "age", cJSON_CreateNumber(31));cJSON_ReplaceItemInObject(parsed, "isStudent", cJSON_CreateBool(1));// 添加新的键值对cJSON_AddItemToObject(parsed, "email", cJSON_CreateString("alice@example.com"));// 输出修改后的 JSON 字符串char *modified_json_str = cJSON_Print(parsed);printf("Modified JSON:\n%s\n", modified_json_str);// 释放内存cJSON_Delete(root);cJSON_Delete(parsed);free(json_str);free(modified_json_str);return 0;
}

输出结果

Original JSON:
{"name": "Alice","age": 30,"isStudent": false,"courses": ["Math","Science","History"]
}
Modified JSON:
{"name": "Alice","age": 31,"isStudent": true,"courses": ["Math","Science","History"],"email": "alice@example.com"
}

 

http://www.dtcms.com/wzjs/835918.html

相关文章:

  • 网站布局f网站建设脑图
  • 企业营销微网站建设没有网站 可以做cpa
  • 自己怎么做卖东西的网站东莞网络优化
  • 响应式网站 翻译代码wordpress 未加密
  • 最超值的锦州网站建设济南网站优化公司电话
  • 表白时刻网站上海外贸公司地址
  • 瑞安规划建设局网站陕西网站建设
  • 马云有没有学过做网站WordPress担保系统
  • 济南企业网站设计公司wordpress更改首页
  • 重庆营销型网站随做的好处wordpress轮播图源码
  • 设计商标的网站加工平台调平装置
  • 俱乐部网站模板哪个网站可以领单做效果图
  • 建设一个网站大概多少钱网站建设编程时注意事项
  • 免费建站免费网站海文考研培训班2023价格表
  • 浙江省网站集约化建设通知上海公共招聘网下载
  • 哪些门户网站可以做推广网站建设静态部分实训总结
  • 邯郸有学做搭建网站的吗如何注册公司微信公众号
  • 网站建设中英语深圳官网建站服务商
  • 网站发布之后上传文件路径变了迅雷下载宝 做网站
  • 网站模板下载之后怎么做什么播放器能看无线新闻台直播
  • 青海省住房和城乡建设厅 网站天河网站建设
  • 网站设计就业岗位分析门户网站开发需求文档
  • 网站文章结构变更怎么做301茂名营销型网站制作公司
  • 做带会员后台的网站用什么软件长沙短视频公司
  • 怎么建立自己的网站平台营销型网站易网拓
  • 厚街响应式网站建设服务器备案期间网站
  • 有没有便宜的网站制作百度爱采购推广怎么入驻
  • 个人电脑建立网站会什么样的网站快速盈利
  • 广州开发网站服务器安全配置
  • 网站代码502母婴网站dede织梦