精华内容
参与话题
问答
  • cJSON

    2020-09-08 10:39:51
    cJSON_GetArrayItem(cJSON *array,int item)是获得array里面的Object,后面的参数是0.1.2…n,分别代表array里面的第一个到第n个Object。 cJSON_GetObjectItem(cJSON *object,const char *string)是获得Object里面...
    • cJSON_GetArrayItem(cJSON *array,int item)是获得array里面的Object,后面的参数是0.1.2…n,分别代表array里面的第一个到第n个Object。

    • cJSON_GetObjectItem(cJSON *object,const char *string)是获得Object里面的string,后面的参数是相当于是key,是一个string字符串。

    参考

    展开全文
  • cJson

    2018-02-23 17:12:38
    我使用的是cJSON:http://sourceforge.net/projects/cjson/ 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的    typedef struct cJSON { struct cJSON *next,*prev; // 数组 对象数据中用到...
    我使用的是cJSON:http://sourceforge.net/projects/cjson/ 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的 
     
    typedef struct cJSON {
    
            struct cJSON *next,*prev;       // 数组 对象数据中用到
    
            struct cJSON *child;            // 数组 和对象中指向子数组对象或值
    
    
    
            int type;                       // 元素的类型,如是对象还是数组
    
    
    
            char *valuestring;                      // 如果是字符串
    
            int valueint;                           // 如果是数值
    
            double valuedouble;                     // 如果类型是cJSON_Number
    
    
    
            char *string;                           // The item's name string, if 
    
    this item is the child of, or is in the list of subitems of an object.
    
    } cJSON;
    
     

     



    比如你有一个json数据 

     
    {
    
        "name": "Jack (\"Bee\") Nimble", 
    
        "format": {
    
            "type":       "rect", 
    
            "width":      1920, 
    
            "height":     1080, 
    
            "interlace":  false, 
    
            "frame rate": 24
    
        }
    
    }
    


    那么你可以 
    1:讲字符串解析成json结构体。 
    cJSON *root = cJSON_Parse(my_json_string);
    


    2:获取某个元素 
    cJSON *format = cJSON_GetObjectItem(root,"format");
    int framerate = cJSON_GetObjectItem(format,"frame rate")->valueint;
    


    3:讲json结构体转换成字符串 
    char *rendered=cJSON_Print(root);
    


    4:删除 
    cJSON_Delete(root);
    


    5:构建一个json结构体 
    cJSON *root,*fmt;
    root=cJSON_CreateObject();      
    cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble"));
    cJSON_AddItemToObject(root, "format", fmt=cJSON_CreateObject());
    cJSON_AddStringToObject(fmt,"type",             "rect");
    cJSON_AddNumberToObject(fmt,"width",            1920);
    cJSON_AddNumberToObject(fmt,"height",           1080);
    cJSON_AddFalseToObject (fmt,"interlace");
    cJSON_AddNumberToObject(fmt,"frame rate",       24);
    


    原文地址:http://buluzhai.iteye.com/blog/845404
    展开全文
  • Cjson

    2018-12-14 15:15:10
    https://github.com/DaveGamble/cJSON 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对...

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

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • cjson

    2017-06-06 11:04:38
    这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高10~20倍。并且Lua Json完全支持UTF-8,无需以来其他非Lua/LuaJit相关包。 环境安装 这里就不详细写了,随便问下谷歌就有一大堆...
    

    这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高10~20倍。并且Lua Json完全支持UTF-8,无需以来其他非Lua/LuaJit相关包。

    环境安装

    这里就不详细写了,随便问下谷歌就有一大堆答案。

    示例代码

    解析JSON

    [plain] view plain copy
    1. local cjson = require "cjson"  
    2. local sampleJson = [[{"age":"23","testArray":{"array":[8,9,11,14,25]},"Himi":"himigame.com"}]];  
    3. --解析json字符串  
    4. local data = cjson.decode(sampleJson);  
    5. --打印json字符串中的age字段  
    6. print(data["age"]);  
    7. --打印数组中的第一个值(lua默认是从0开始计数)  
    8. print(data["testArray"]["array"][1]);  

    编码JSON

    [plain] view plain copy
    1. local cjson = require "cjson"  
    2. local retTable = {};    --最终产生json的表  
    3. --顺序数值  
    4. local intDatas = {};  
    5. intDatas[1] = 100;  
    6. intDatas[2] = "100";  
    7. --数组  
    8. local aryDatas = {};  
    9. aryDatas[1] = {};  
    10. aryDatas[1]["键11"] = "值11";  
    11. aryDatas[1]["键12"] = "值12";  
    12. aryDatas[2] = {};  
    13. aryDatas[2]["键21"] = "值21";  
    14. aryDatas[2]["键22"] = "值22";  
    15. --对Table赋值  
    16. retTable["键1"] = "值1";  
    17. retTable[2] = 123;  
    18. retTable["int_datas"] = intDatas;  
    19. retTable["aryDatas"] = aryDatas;  
    20. --将表数据编码成json字符串  
    21. local jsonStr = cjson.encode(retTable);  
    22. print(jsonStr);  
    23. --结果是:{"int_datas":[100,"100"],"2":123,"键1":"值1","aryDatas":[{"键12":"值12","键11":"值11"},{"键21":"值21","键22":"值22"}]}  
    展开全文
  • CJson

    2019-08-12 22:38:42
    一.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。...
  • cJSON Ultralightweight JSON parser in ANSI C. Table of contents License Usage Welcome to cJSON Building Copying the source CMake Makefile Vcpkg Including cJSON Data Structure Working with the...
  • 全面详解c语言使用cJSON解析JSON字符

    万次阅读 多人点赞 2018-01-26 16:41:09
    为什么选择cJSON来解析JSON字符串?因为简洁又简单,而且效率又快,cJSON工程文件也非常简单,仅一个.c文件和一个.h文件! 如果要自己写的话就是重造轮子了,况且效率上也不一定会比cJSON更好! 且文件体积大小不...
  • cJSON函数库 json解析库 cjson.c 和cjson.c添加一起编译
  • 使用cJSON构建json串特别简单,只需引入两个文件(cJSON.h与cJSON.c)即可。将这两个文件包含到工程中,然后引用头文件cJson.h,接下来使用相关函数构建Json串即可。
  • cJSON Ultralightweight JSON parser in ANSI C. Table of contents License Usage Welcome to cJSON Building Copying the source CMake Makefile Vcpkg Including cJSON Data Structure Working with the...
  • cJSON解析和组成的全部函数声明和定义,直接调用便可使用,主要用于在C语言平台上实现JSON格式的数据传递。
  • 里面有详细的cJSON的.c和.h代码 可以参考我的博客链接https://blog.csdn.net/qq_25205045/article/details/85339759学习
  • Cjson Reader

    2020-12-09 00:22:50
    <div><p>Introdution of the cjson reader and cjson Data structure within cclib. The reader has been hooked to the ccget script such that a user can parse a cclib attribute in the following way: <code>...
  • cjson.c cjson.h

    2018-05-07 17:23:25
    cjson解析与组成的全部函数声明与定义 可在工程中作为源文件链接
  • cJSON库C语言

    2018-01-25 15:42:38
    cJSON库C语言 cJSON库C语言 cJSON库C语言 cJSON库C语言
  • cJSON /* Copyright (c) 2009 Dave Gamble Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to ...

空空如也

1 2 3 4 5 ... 20
收藏数 3,187
精华内容 1,274
关键字:

cjson