JSON编码与解码

JSON简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

官网:http://json.org/json-zh.html


JSON数据格式

1: JSON数据格式源自于js(JavaScript Object Notation)。
JSON编码: 把一个js的内存对象—>文本–>传输与保存
JSON解码: 把一个js的文本–>解码后–>Js的Object数据;
2: JavaScript Object 是一个表结构
object = {
key1: value1,
key2: value2,
key3: {
sub_key: sub_value
….
}
key4: [sub_value1, sub_value2, sub_value3]
};
key: 数字, 字符串;
value: 数字, 逻辑true/false, 数组, 对象object, null 空对象;


mjson

1: JSON编码解码的一个开源的C库;
2: 编译mjson到项目工程中;

mjson资源下载

参考文档


JSON编码

1: mjson编码步骤;
1> 创建一个JSON对象:
json_new_string 创建一个字符串对象;
json_new_true/json_new_false 创建一个逻辑对象;
json_new_null: 创建一个null对象;
json_new_array: 创建一个数组对象;
json_new_number: 创建一个数字对象;
json_new_object: 创建一个表对象;
2> 插入key, value,建立好层次关系:
json_insert_pair_into_object, 将key, value插入到object
json_insert_child(man_prop, tmp); 将一个值插入到一个数组;
3> 输出生成字符文本
json_tree_to_string
4> 释放json_t对象: json_free_value: 整个都会释放;
2: mjson解码步骤:
json_parse_document

这里写图片描述
这里写图片描述

这里写图片描述

解码步骤
这里写图片描述

这里写图片描述


JSON对象查找

1: json_t* json_find_first_label(parent, key);
2: json_t:
type: JSON_STRING,JSON_NUMBER, JSON_OBJECT, JSON_ARRAY, JSON_TRUE, JSON_FALSE,
JSON_NULL
text: true/false, number, string;

这里写图片描述


Code

猜你喜欢

转载自blog.csdn.net/qq_36482772/article/details/80141257
今日推荐