C·cJSON库函数--cJSON_GetObjectItem
1、cJSON是一个轻量级的JSON解析库,cJSON_GetObjectItem函数是用来获取JSON对象中的某个成员的值。
函数原型为:
cJSON *cJSON_GetObjectItem(const cJSON *object, const char *string);
参数说明:
object:待查找的JSON对象。
string:要查找的成员名称。
返回值为:
如果找到指定的成员,则返回该成员对应的cJSON节点,否则返回NULL。
示例代码:
{"name": "Tom","age": 20,"hobby": ["reading", "traveling"]
}
我们可以通过如下代码获取其中的某些值:
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"int main()
{char *json_str = "{\"name\":\"Tom\",\"age\":20,\"hobby\":[\"reading\",\"traveling\"]}";cJSON *root = cJSON_Parse(json_str);if (!root) {printf("parse error\n");exit(1);}cJSON *name = cJSON_GetObjectItem(root, "name");if (name) {printf("name: %s\n", name->valuestring);}cJSON *age = cJSON_GetObjectItem(root, "age");if (age) {printf("age: %d\n", age->valueint);}cJSON *hobby = cJSON_GetObjectItem(root, "hobby");if (hobby && cJSON_IsArray(hobby)) {int i;for (i = 0; i < cJSON_GetArraySize(hobby); i++) {cJSON *item = cJSON_GetArrayItem(hobby, i);if (item && cJSON_IsString(item)) {printf("hobby: %s\n", item->valuestring);}}}cJSON_Delete(root);return 0;
}
输出结果为:
name: Tom
age: 20
hobby: reading
hobby: traveling
首先使用cJSON_Parse函数将JSON字符串解析为cJSON节点树。然后使用cJSON_GetObjectItem函数获取该节点树中的某些值。需要注意的是,在获取"hobby"成员时,还需要使用cJSON_IsArray和cJSON_GetArraySize函数进行类型判断和数组大小获取
cJSON_Parse是cJSON库中的一个函数,用于将一个JSON格式的字符串解析为一个cJSON对象。
cJSON *cJSON_Parse(const char *value);
其中,value是一个JSON格式的字符串,函数会将其解析为一个cJSON对象,并返回该对象的指针。
使用cJSON_Parse函数时,需要注意以下几点:
value参数必须是一个完整的JSON格式的字符串,否则解析会失败;
如果解析成功,cJSON_Parse函数将返回一个cJSON对象的指针; 解析失败时,cJSON_Parse函数将返回NULL。
C·cJSON库函数--cJSON_GetObjectItem相关推荐
- mysql pmt函数怎么用,Sword cjson库函数使用
/*cjson库的使用*/#include#include#include#include#include"cJSON.h" /*说明: 组装成json效率并不高,并不推荐json ...
- CJSON之完全基于C库函数的使用
最近由于需要两个单片机之间的数据传输,所以了解到了CJSON. 1.JSON简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ...
- 【cJSon】cJSON学习笔记(一)
1.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它基于JavaScript(Standa ...
- cJSON的使用方法
首先,要介绍一下什么是json格式. 一.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它 ...
- Cjson 库的使用
cJSON,目前来说,主要的文件有两个,一个 cJSON.c 一个 cJSON.h.使用的时候,将头文件 include 进去即可. 如果是在 Linux 操作系统中使用,编译 到时候需要添加数学库 ...
- CJSON 使用介绍
首先,要介绍一下什么是json格式. 一.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生 ...
- cJSON库用法详解
cJSON库用法详解_宁静致远2021的博客-CSDN博客_cjson cJSON库用法详解 问题和需要注意的地方 一.JSON.cJSON简介 1. JSON 简介 2. JSON 语法 3. 开源 ...
- Json与CJson详解
JSON(JavaScript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计.轻量级的数据交换语言,该语言以易于让人阅读的文字 ...
- cJSON库的使用详情,cJSON动态库制作
文章目录 cJSON库的使用详情 什么是JSON? 一.cJSON动态库制作: 二.cJSON介绍 1.json数据表示方式 2.cJSON的结构体 3.cJSON宏定义的类型type 4.字符串生成 ...
最新文章
- python函数分几种_简单了解Python中的几种函数
- Java基本sql_常用sql
- 计算机无法使用光驱启动,电脑BIOS怎么设置光盘启动 三种类型BIOS设置光驱启动的图文详解教程...
- NET问答: using 和 await using 有什么不同?
- 谈谈 Java 的克隆
- spring 事物合并_Spring系列合并
- python字符串操作作业_python 第二天作业
- C#开发笔记之13-如何用C#分隔字符串并返回字符串数组?
- 【kafka系列】centos7系统安装kafka
- java多线程-线程创建
- java 博客系统 tale_Java 博客系统 Tale
- 【廖雪峰官方网站/Java教程】多线程(1)
- NetDevOps常用数据库python实战-MongoDB
- Fluent软件零基础入门到精通教程
- 转换大师swf转html,iPixSoft SWF to HTML5 Converter
- 虚拟机文件无法复制到主计算机,VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)...
- QQ等App每天自启百次;​李国庆直播拍卖午餐时间1小时;苹果提交认证9款新手机 | EA周报...
- 守望先锋,工坊规则封禁源式利用表情卡原地小跳
- JS方法/函数重载的姿势
- 页面生命周期:DOMContentLoaded,load,beforeunload,unload