8000 GitHub - geekheart/cjsonp: 这是一个基于cjson的库,cjson对于使用者来说比较繁琐。这个库调用起来比较方便、简洁
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

这是一个基于cjson的库,cjson对于使用者来说比较繁琐。这个库调用起来比较方便、简洁

License

Notifications You must be signed in to change notification settings

geekheart/cjsonp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cjsonp

这是一个基于cjson的库,cjson对于使用者来说比较繁琐。这个库调用起来比较方便、简洁。

借用了jsonPath的理念,但是还不能像jsonPath那样强大,目前只支持全路径匹配,且匹配的规则会有些许不同

运行例程

  1. 首先,你需要clone本库
$ git clone https://github.com/geekheart/cjsonp.git
$ cd cjsonp
$ git submodule init
$ git submodule update
  1. 然后,确保你的环境里有gcc编译器和make工具
$ gcc
gcc: fatal error: no input files
compilation terminated
$ make    
make: *** No targets specified and no makefile found.  Stop.
  1. 进入cjsonp文件夹里就可以make编译了
$ make # 编译例程
$ make run # 运行例程
$ make clean # 清空编译生成的内容

如何移植

本库核心部分cjsonp_cmd_parser没有用到任何库(包括libc),cjsonp部分则依赖cJSON。 将本库中的cjsonp文件夹直接复制到您的工程,即可使用。 include本库后自动添加cJSON库

API说明

解析的路径,路径规则:
.表示子对象
[]用于数组对象
数组对象前后不用.

    /**
     * @brief 从cjson对象中找到你需要的元素
     * 
     * @param json_root cjson根对象
     * @param path 查找cjson的路径
     * @return cJSON* 返回的额元素对象
     */
    cJSON* cjsonp_search(cJSON* json_root, const char *path);

    /**
     * @brief 删除cjson对象的元素
     * 
     * @param json_root cjson根对象
     * @param path 删除cjson的路径
     * @return int 返回1成功,0失败
     */
    int cjsonp_delete(cJSON *json_root, const char *path);

    /**
     * @brief 添加cjson元素到对象中
     * 
     * @param json_root cjson根对象
     * @param path 添加cjson的路径
     * @param add_json 添加的cjson对象
     * @return int 返回1成功,0失败
     */
    int cjsonp_add(cJSON *json_root, const char *path, cJSON *add_json);

    /**
     * @brief 替换cjson对象中的元素
     * 
     * @param json_root cjson根对象
     * @param path 替换cjson的路径
     * @param rep_json 替换的cjson对象
     * @return int 返回1成功,0失败
     */
    int cjsonp_replace(cJSON *json_root, const char *path, cJSON *rep_json);

About

这是一个基于cjson的库,cjson对于使用者来说比较繁琐。这个库调用起来比较方便、简洁

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0