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相关推荐

  1. mysql pmt函数怎么用,Sword cjson库函数使用

    /*cjson库的使用*/#include#include#include#include#include"cJSON.h" /*说明: 组装成json效率并不高,并不推荐json ...

  2. CJSON之完全基于C库函数的使用

    最近由于需要两个单片机之间的数据传输,所以了解到了CJSON. 1.JSON简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ...

  3. 【cJSon】cJSON学习笔记(一)

    1.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它基于JavaScript(Standa ...

  4. cJSON的使用方法

    首先,要介绍一下什么是json格式. 一.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它 ...

  5. Cjson 库的使用

    cJSON,目前来说,主要的文件有两个,一个 cJSON.c 一个 cJSON.h.使用的时候,将头文件 include 进去即可. 如果是在 Linux 操作系统中使用,编译 到时候需要添加数学库 ...

  6. CJSON 使用介绍

     首先,要介绍一下什么是json格式. 一.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生 ...

  7. cJSON库用法详解

    cJSON库用法详解_宁静致远2021的博客-CSDN博客_cjson cJSON库用法详解 问题和需要注意的地方 一.JSON.cJSON简介 1. JSON 简介 2. JSON 语法 3. 开源 ...

  8. Json与CJson详解

            JSON(JavaScript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计.轻量级的数据交换语言,该语言以易于让人阅读的文字 ...

  9. cJSON库的使用详情,cJSON动态库制作

    文章目录 cJSON库的使用详情 什么是JSON? 一.cJSON动态库制作: 二.cJSON介绍 1.json数据表示方式 2.cJSON的结构体 3.cJSON宏定义的类型type 4.字符串生成 ...

最新文章

  1. python函数分几种_简单了解Python中的几种函数
  2. Java基本sql_常用sql
  3. 计算机无法使用光驱启动,电脑BIOS怎么设置光盘启动 三种类型BIOS设置光驱启动的图文详解教程...
  4. NET问答: using 和 await using 有什么不同?
  5. 谈谈 Java 的克隆
  6. spring 事物合并_Spring系列合并
  7. python字符串操作作业_python 第二天作业
  8. C#开发笔记之13-如何用C#分隔字符串并返回字符串数组?
  9. 【kafka系列】centos7系统安装kafka
  10. java多线程-线程创建
  11. java 博客系统 tale_Java 博客系统 Tale
  12. 【廖雪峰官方网站/Java教程】多线程(1)
  13. NetDevOps常用数据库python实战-MongoDB
  14. Fluent软件零基础入门到精通教程
  15. 转换大师swf转html,iPixSoft SWF to HTML5 Converter
  16. 虚拟机文件无法复制到主计算机,VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)...
  17. QQ等App每天自启百次;​李国庆直播拍卖午餐时间1小时;苹果提交认证9款新手机 | EA周报...
  18. 守望先锋,工坊规则封禁源式利用表情卡原地小跳
  19. JS方法/函数重载的姿势
  20. 页面生命周期:DOMContentLoaded,load,beforeunload,unload

热门文章

  1. 计算机类部分核心期刊投稿经验
  2. 王阳明心学 量子物理_量子物理学论文的文本分类
  3. Linux命令ls是什么缩写,linux基本命令ls、pwd、cd、mkdir等
  4. 查找算法--01 顺序查找和二分查找
  5. 【07】QQ群管理公告小结:
  6. soot 简介 | 安装运行
  7. CeisumLabApkServe--为CeisumLab工具下载地图,影像数据的.pak文件架设地图服务
  8. dhcp服务器自动分配地址思科,cisco dhcp服务器设置方法
  9. 性能测试能力提升最终篇-全链路压测
  10. 网络知识-03 数据链路层-以太网