Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cJSON调用方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。


我使用的是cJSON:http://sourceforge.net/projects/cjson/

先看json的数据结构
c中没有对象,所以json数据是采用链表存储的


@H_673_10@
  • typedefstructcJSON{
  • structcJSON*next,*prev;//数组对象数据中用到
  • structcJSON*child;//数组和对象中指向子数组对象或值
  • inttype;//元素的类型,如是对象还是数组
  • char*valueString;//如果是字符串
  • intvalueint;//如果是数值
  • doublevaluedouble;//如果类型是cJSON_number
  • char*String;//Theitem'snameString,ifthisitemisthechildof,orisintHelistofsubitemsofanobject.
  • }cJSON;

  • 比如你有一个json数据


    @H_673_10@
  • {
  • "name":"Jack(\"Bee\")Nimble",
  • "format":{
  • "type":"rect",
  • "width":1920,
  • "height":1080,
  • "interlace":false,
  • "framerate":24
  • }
  • }
  • 那么你可以
    1:讲字符串解析成json结构体。

    cJSON*root=cJSON_Parse(my_json_String);

    2:获取某个元素

    @H_673_10@
  • cJSON*format=cJSON_GetObjectItem(root,"format");
  • intframerate=cJSON_GetObjectItem(format,"framerate")->valueint;
  • 3:讲json结构体转换成字符串

    char*rendered=cJSON_Print(root);

    cJSON_delete(root);






    构建一个json结构体

    1. cJSON*root,*fmt;
    2. root=cJSON_CreateObject();
    3. cJSON_AddItemToObject(root,"name",cJSON_CreateString("Jack(\"Bee\")Nimble"));
    4. cJSON_AddItemToObject(root,"format",fmt=cJSON_CreateObject());
    5. cJSON_AddStringToObject(fmt,"type","rect");
    6. cJSON_AddnumberToObject(fmt,"width",1920);
    7. cJSON_AddnumberToObject(fmt,"height",1080);
    8. cJSON_AddfalseToObject(fmt,"interlace");
    9. cJSON_AddnumberToObject(fmt,"framerate",24);

    大佬总结

    以上是大佬教程为你收集整理的cJSON调用方法全部内容,希望文章能够帮你解决cJSON调用方法所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。