C语言 JSON 解析库 - MJSON使用介绍
来源:互联网 发布:淘宝客如何做推广 编辑:程序博客网 时间:2024/05/21 17:15
安装:
解压出来,然后直接包含 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语言
- 1012——外币兑换
- Real differences between “java -server” and “java -client”-JVM Server和JVM Client的不同
- MFC学习第八节:在数据库的数据在窗口中显示(显示一个学生时)
- JSON在android中应用
- 1017——期末成绩
- C语言 JSON 解析库 - MJSON使用介绍
- 基于javaEE的结构体系之jdbc
- HDU 3065(ac自动机)
- 2.4 Stream2
- c语言解析json数据
- 1009——财务管理
- 安防小应用总结 第三季
- 将并行I/O标准化(Hadoop与并行I/O)
- 1008——ASCII码