2.2k Star号称最牛X的C语言JSON解析库

ANSI C 编写的高性能 JSON 解析库。特点快速:可以在现代 CPU 上每秒读取或写入千兆字节的 JSON 数据。便携:符合 ANSI C

ANSI C 编写的高性能 JSON 解析库。

特点

  • 快速:可以在现代 CPU 上每秒读取或写入千兆字节的 JSON 数据。
  • 便携:符合 ANSI C (C89)。
  • 标准:严格遵守[RFC 8259]标准。
  • 安全:完整的 JSON 表单、数字格式和 UTF-8 验证。
  • 准确:能读写int64,数字准确uint64double
  • 更少的限制:支持无限制的 JSON 级别\u0000和非空终止字符串。
  • 可扩展:允许注释、尾随逗号、nan/inf、自定义内存分配器的选项。
  • 开发者友好:只有一个h文件c,易于集成。

GitHub数据

  • 2.2k stars
  • 51 watching
  • 195 forks

开源地址:https://github.com/ibireme/yyjson

测试表现

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165108247

twitter.json parse (GB/s) stringify (GB/s) yyjson(insitu) 1.80 1.51 yyjson 1.72 1.42 simdjson 1.52 0.61 sajson 1.16 rapidjson(insitu) 0.77 rapidjson(utf8) 0.26 0.39 cjson 0.32 0.17 jansson 0.05 0.11

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165123373

twitter.json

parse (GB/s)

stringify (GB/s)

yyjson(insitu)

3.51

2.41

yyjson

2.39

2.01

simdjson

2.19

0.80

sajson

1.74

rapidjson(insitu)

0.75

rapidjson(utf8)

0.30

0.58

cjson

0.48

0.33

jansson

0.09

0.24

示例代码

const char *json = "{\"name\":\"Mash\",\"star\":4,\"hits\":[2,2,1,3]}";


// Read JSON and get root
yyjson_doc *doc = yyjson_read(json, strlen(json), 0);
yyjson_val *root = yyjson_doc_get_root(doc);


// Get root["name"]
yyjson_val *name = yyjson_obj_get(root, "name");
printf("name: %s\n", yyjson_get_str(name));
printf("name length:%d\n", (int)yyjson_get_len(name));

更多功能广大网友可以继续挖掘。

关注:[开源日记],分享10k+Start的优质开源项目。

ANSI C 编写的高性能 JSON 解析库。

特点

  • 快速:可以在现代 CPU 上每秒读取或写入千兆字节的 JSON 数据。
  • 便携:符合 ANSI C (C89)。
  • 标准:严格遵守[RFC 8259]标准。
  • 安全:完整的 JSON 表单、数字格式和 UTF-8 验证。
  • 准确:能读写int64,数字准确uint64double
  • 更少的限制:支持无限制的 JSON 级别\u0000和非空终止字符串。
  • 可扩展:允许注释、尾随逗号、nan/inf、自定义内存分配器的选项。
  • 开发者友好:只有一个h文件c,易于集成。

GitHub数据

  • 2.2k stars
  • 51 watching
  • 195 forks

开源地址:https://github.com/ibireme/yyjson

测试表现

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165108247

twitter.json parse (GB/s) stringify (GB/s) yyjson(insitu) 1.80 1.51 yyjson 1.72 1.42 simdjson 1.52 0.61 sajson 1.16 rapidjson(insitu) 0.77 rapidjson(utf8) 0.26 0.39 cjson 0.32 0.17 jansson 0.05 0.11

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165123373

twitter.json

parse (GB/s)

stringify (GB/s)

yyjson(insitu)

3.51

2.41

yyjson

2.39

2.01

simdjson

2.19

0.80

sajson

1.74

rapidjson(insitu)

0.75

rapidjson(utf8)

0.30

0.58

cjson

0.48

0.33

jansson

0.09

0.24

示例代码

const char *json = "{\"name\":\"Mash\",\"star\":4,\"hits\":[2,2,1,3]}";


// Read JSON and get root
yyjson_doc *doc = yyjson_read(json, strlen(json), 0);
yyjson_val *root = yyjson_doc_get_root(doc);


// Get root["name"]
yyjson_val *name = yyjson_obj_get(root, "name");
printf("name: %s\n", yyjson_get_str(name));
printf("name length:%d\n", (int)yyjson_get_len(name));

更多功能广大网友可以继续挖掘。

关注:[开源日记],分享10k+Start的优质开源项目。ANSI C 编写的高性能 JSON 解析库。

特点

  • 快速:可以在现代 CPU 上每秒读取或写入千兆字节的 JSON 数据。
  • 便携:符合 ANSI C (C89)。
  • 标准:严格遵守[RFC 8259]标准。
  • 安全:完整的 JSON 表单、数字格式和 UTF-8 验证。
  • 准确:能读写int64,数字准确uint64double
  • 更少的限制:支持无限制的 JSON 级别\u0000和非空终止字符串。
  • 可扩展:允许注释、尾随逗号、nan/inf、自定义内存分配器的选项。
  • 开发者友好:只有一个h文件c,易于集成。

GitHub数据

  • 2.2k stars
  • 51 watching
  • 195 forks

开源地址:https://github.com/ibireme/yyjson

测试表现

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165108247

twitter.json parse (GB/s) stringify (GB/s) yyjson(insitu) 1.80 1.51 yyjson 1.72 1.42 simdjson 1.52 0.61 sajson 1.16 rapidjson(insitu) 0.77 rapidjson(utf8) 0.26 0.39 cjson 0.32 0.17 jansson 0.05 0.11

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165123373

twitter.json

parse (GB/s)

stringify (GB/s)

yyjson(insitu)

3.51

2.41

yyjson

2.39

2.01

simdjson

2.19

0.80

sajson

1.74

rapidjson(insitu)

0.75

rapidjson(utf8)

0.30

0.58

cjson

0.48

0.33

jansson

0.09

0.24

示例代码

const char *json = "{\"name\":\"Mash\",\"star\":4,\"hits\":[2,2,1,3]}";


// Read JSON and get root
yyjson_doc *doc = yyjson_read(json, strlen(json), 0);
yyjson_val *root = yyjson_doc_get_root(doc);


// Get root["name"]
yyjson_val *name = yyjson_obj_get(root, "name");
printf("name: %s\n", yyjson_get_str(name));
printf("name length:%d\n", (int)yyjson_get_len(name));

更多功能广大网友可以继续挖掘。

关注:[开源日记],分享10k+Start的优质开源项目。

ANSI C 编写的高性能 JSON 解析库。

特点

  • 快速:可以在现代 CPU 上每秒读取或写入千兆字节的 JSON 数据。
  • 便携:符合 ANSI C (C89)。
  • 标准:严格遵守[RFC 8259]标准。
  • 安全:完整的 JSON 表单、数字格式和 UTF-8 验证。
  • 准确:能读写int64,数字准确uint64double
  • 更少的限制:支持无限制的 JSON 级别\u0000和非空终止字符串。
  • 可扩展:允许注释、尾随逗号、nan/inf、自定义内存分配器的选项。
  • 开发者友好:只有一个h文件c,易于集成。

GitHub数据

  • 2.2k stars
  • 51 watching
  • 195 forks

开源地址:https://github.com/ibireme/yyjson

测试表现

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165108247

twitter.json parse (GB/s) stringify (GB/s) yyjson(insitu) 1.80 1.51 yyjson 1.72 1.42 simdjson 1.52 0.61 sajson 1.16 rapidjson(insitu) 0.77 rapidjson(utf8) 0.26 0.39 cjson 0.32 0.17 jansson 0.05 0.11

2.2k Star号称最牛X的C语言JSON解析库

image-20220820165123373

twitter.json

parse (GB/s)

stringify (GB/s)

yyjson(insitu)

3.51

2.41

yyjson

2.39

2.01

simdjson

2.19

0.80

sajson

1.74

rapidjson(insitu)

0.75

rapidjson(utf8)

0.30

0.58

cjson

0.48

0.33

jansson

0.09

0.24

示例代码

const char *json = "{\"name\":\"Mash\",\"star\":4,\"hits\":[2,2,1,3]}";


// Read JSON and get root
yyjson_doc *doc = yyjson_read(json, strlen(json), 0);
yyjson_val *root = yyjson_doc_get_root(doc);


// Get root["name"]
yyjson_val *name = yyjson_obj_get(root, "name");
printf("name: %s\n", yyjson_get_str(name));
printf("name length:%d\n", (int)yyjson_get_len(name));

更多功能广大网友可以继续挖掘。

关注:[开源日记],分享10k+Start的优质开源项目。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/81088.html

(0)
上一篇 2024-09-01 11:15
下一篇 2024-09-03 20:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信