README.md

    mRjson v0.2

    介绍

    用变参函数实现的,短小简单的,json解析库,适用于嵌入式设备等

    • 只需要一个变参函数mRjson_Decode()
    • 支持json嵌套格式
    • 用参数指定被解析json对象, 层级,键值, 解析类型和保存缓冲
    • 不需要使用动态内存

    依赖

    需要以下头文件来提供标准格式转换、变参处理,所以理论上能提供下面这几个头文件的编译器都能使用本json库,如51、stm32、linux、win等。

    • stdio.h
    • string.h
    • stdlib.h
    • stdarg.h

    已测试平台

    硬件平台 测试平台
    win10 gcc
    ubuntu gcc
    esp8266 ubuntu esp8266-idf rtos-sdkv3.4

    参数说明

    • %J: json字符串
    • %I: 键字符串, 指定子项, 包括数组子项
    • %A: 嵌套格式使用, 指定数组下标
    • %G: 嵌套格式使用,指定键值对象
    • %T: 解析目标类型
      • D: int整形
      • F: double浮点型
      • S: 字符串
    • %R: 保存缓冲
    注意
    • 上述参数大小写通用, 如%J%j效果相同
    • %J参数必须放在首位
    • %T%R参数放参数组结尾, 且先指定解析类型,后指定保存参数
    • %I, %A, %G参数需要严格按照层级解析使用
    • 普通键直接使用%I指定
    • 数组键先使用%I指定子项, 再用%A指定数组下标
    • 键值依然为非数组对象的键使用%G指定

    源码比较简单,建议看代码,可以自定义实现自己的特定功能

    示例

    • int值解析示例
    	mRjson_Decode("%J%I%T%R",json,"size","D",&tmp);
    • double浮点型解析示例
    	mRjson_Decode("%J%I%T%R",json,"double","F",&ftmp);
    • str字符串解析示例
    	mRjson_Decode("%J%I%T%R",json,"str","S",&ss[0]);
    • 嵌套格式字符串解析实例,array[1]->content->hello
    	mRjson_Decode("%J%I%A%G%I%T%R",json,"array","1","content","hello","S",&ss[0]);
    • 示例文件:main.c, 实例的json字符串见源文件

    项目简介

    迷你静态json解析库,适用于简单json只读应用

    发行版本 1

    mRjson-v0.2

    全部发行版

    贡献者 3

    来碗豆腐脑 @a1058191679
    6 62c458ac9d8b9301847c610c @62c458ac9d8b9301847c610c

    开发语言

    • C 98.0 %
    • Makefile 2.0 %