C语言 JSON 解析库 - MJSON使用介绍
来源:互联网 发布:less.js 1.7下载 编辑:程序博客网 时间:2024/06/14 14:15
C语言 JSON 解析库 - MJSON使用介绍
MJSON 是使用 ISO C 标准库开发的 json 解析库。
下载地址:
http://www.linuxpig.com/softwares/mjson/mjson-0.9.tar.bz2
安装:
解压出来,然后直接包含 json.h 就可以了。
下面是几个官方给出的几个例子,由于直接拷贝过来编译没通过,做了一些修改,详见注释部分。
【mjson例一】
01
<STRONG>#include <stdio.h>
02
#include <stdlib.h>
03
#include <locale.h>
04
05
#include "json.h"
06
07
int
main (
void
)
08
{
09
char
*text;
10
json_t *root, *entry, *label, *value;
11
setlocale
(LC_ALL,
""
);
//设为系统默认地域信息
12
13
// creates the root node
14
root = json_new_object();
15
// create an entry node
16
entry = json_new_object();
17
18
// 第一部分,打印结果:
19
// {"entry":{"name":"Andew","phone":"555 123 456"}}
20
21
// insert the first label-value pair
22
label = json_new_string(
"name"
);
23
value = json_new_string(
"Andew"
);
24
json_insert_child(label, value);
25
json_insert_child(entry, label);
26
27
// insert the second label-value pair
28
label = json_new_string(
"phone"
);
29
value = json_new_string(
"555 123 456"
);
30
json_insert_child(label, value);
31
json_insert_child(entry, label);
32
33
// inserts that object as a value in a label-value pair
34
label = json_new_string(
"entry"
);
35
json_insert_child(label, entry);
36
37
// inserts that label-value pair into the root object
38
json_insert_child(root, label);
39
40
// print the result
41
json_tree_to_string(root, &text);
42
printf
(
"%s\n"
,text);
43
44
// clean up
45
free
(text);
46
json_free_value(&root);
47
48
//打印第二部分,数组示例,
49
//结果:
50
// ["test1","test2",109]
51
52
root = json_new_array();
53
label = json_new_string(
"test1"
);
54
json_insert_child(root,label);
55
value = json_new_string(
"test2"
);
56
json_insert_child(root,value);
57
value = json_new_number(
"109"
);
58
json_insert_child(root,value);
59
60
json_tree_to_string(root,&text);
61
printf
(
"%s\n"
,text);
62
63
// clean up
64
free
(text);
65
json_free_value(&root);
66
67
return
EXIT_SUCCESS;
68
}</STRONG>
01
#include <stdio.h>
02
#include <stdlib.h>
03
#include <locale.h>
04
05
#include "json.h"
06
07
json_t *new_entry(
char
*name,
char
*phone)
08
{
09
json_t *entry, *label, *value;
10
11
// create an entry node
12
entry = json_new_object();
13
14
// insert the first label-value pair
15
label = json_new_string(
"name"
);
16
value = json_new_string(
"Andew"
);
17
json_insert_child(label, value);
18
json_insert_child(entry, label);
19
20
// insert the second label-value pair
21
label = json_new_string(
"phone"
);
22
value = json_new_string(
"555 123 456"
);
23
json_insert_child(label, value);
24
json_insert_child(entry, label);
25
26
// inserts that object as a value in a label-value pair
27
label = json_new_string(
"entry"
);
28
json_insert_child(label, entry);
29
30
return
label;
31
}
32
33
int
main (
void
)
34
{
35
setlocale
(LC_ALL,
""
);
//设置为系统默认的地域信息
36
37
json_t *root, *subtree;
38
39
// creates the root node
40
root = json_new_object();
41
42
// creates the desired MJSON document subtree
43
subtree = new_entry(
"Andrew"
,
"555 123 456"
);
44
45
// inserts the subtree into the root object
46
json_insert_child(root, subtree);
47
48
// print the result
49
char
*text;
50
json_tree_to_string(root, &text);
51
printf
(
"%s\n"
,text);
//官方例子中为printf("%ls\n",text);去掉l才能打印出来。。
52
53
// clean up
54
free
(text);
55
json_free_value(&root);
56
return
EXIT_SUCCESS;
57
}
58
59
【输出结果】
60
{
"entry"
:{
"name"
:
"Andew"
,
"phone"
:
"555 123 456"
}}
01
#include <stdio.h>
02
#include <stdlib.h>
03
#include <locale.h>
04
05
#include "json.h"
06
07
int
main (
void
)
08
{
09
setlocale
(LC_ALL,
""
);
10
char
*document =
"{\"entry\":{\"name\":\"Andew\",\"phone\":\"555 123 456\"}}"
;
11
12
json_t *root;
13
14
printf
(
"Parsing the document…\n"
);
15
root = json_parse_document(document);
16
17
printf
(
"Printing the document tree…\n"
);
18
json_tree_to_string(root, &document);
19
wprintf(
"%ls\n"
, document);
20
21
// clean up
22
json_free_value(&root);
23
return
EXIT_SUCCESS;
24
}
【参考】
http://www.json.org/json-zh.html
http://mjson.sourceforge.net/
- C语言 JSON 解析库 - MJSON使用介绍
- C语言 JSON 解析库 - MJSON使用介绍
- C语言 JSON 解析库 - MJSON使用介绍
- C语言 JSON 解析库 - MJSON使用介绍
- C语言的JSON 解析库 - MJSON使用介绍
- C语言 JSON 解析库 - MJSON使用介绍
- 一个 c json 解析库–mjson 介绍和实例
- C语言解析JSON
- c语言解析json
- c语言解析json
- JSON的简单介绍以及C语言的JSON库使用
- JSON的简单介绍以及C语言的JSON库使用
- JSON的简单介绍以及C语言的JSON库使用
- Json解析 - c语言库libJsonParser
- mjson使用的例子
- cJSON库(构建json与解析json字符串)-c语言
- cJSON库(构建json与解析json字符串)-c语言
- cJSON库(构建json与解析json字符串)-c语言
- php+apache安装
- 高性能网络编程4--TCP连接的关闭
- 成为C++高手的基础
- 说出男人的心声
- 我的VB程序!!!!好烦躁
- C语言 JSON 解析库 - MJSON使用介绍
- C语言 杭电POJ 1089 A+B for Input-Output Practice (I)
- Google word2vec 模型和代码解析 之 前扑
- Pydoop 架构和模块包介绍
- 第9周项目1--分段函数的求值(解法①)
- 正则表达式--笔记与实战(Eclipse文本替换)
- 各位大神,有没有类似于百度云软件开始时的设置向导的例子呀
- C语言 杭电POJ 1090 A+B for Input-Output Practice (II)
- 网站推广、网站优化和SEO的区别