中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSON數據格式詳解

發布時間:2020-07-20 11:42:45 來源:網絡 閱讀:4086 作者:超級極客 欄目:編程語言

1json數據格式簡介(JaveScript Object Notation)

隨著JaveScript的流行和互聯網應用,JavaScript里面最強大的

數據類型Object,使用起來及其方便,可以滿足所有的數據存儲.

為了能更好的做數據交換,設計了JSON協議,能夠將JavaScript里面

的Object與Json的轉換,Object對象轉換成Json數據以后,方便

傳輸和存儲,json變為Object方便對象重建.

Object又叫做表 存放的就是 key:value   name:小明

key可以是字符串和數據

value可以是數組,字符串,bool,數組多個value,object

JSON是完全獨立于語言的文本格式,易于閱讀與編寫以及解析.



2使用c語言開源庫mjson 解析json


#include "mjson/json.h"
/*
{ //root
"k_num" : 123,
"k_str" : "hello",
"k_logic" : true,
"k_null" : null,
"k_array" : [1,"hello","2"],
"weap_object" : 
{
"default":"putongzidan",
}
}
*/
int main(int argc, char*argv[])
{
//首先建一個空的Object
json_t* root = json_new_object();
//new一個數字 //把這個元素 加到object里
json_t* k_num = json_new_number("123");
json_insert_pair_into_object(root,"k_num",k_num);
json_t* uname = json_new_string("hello");
json_insert_pair_into_object(root, "k_str", uname);
json_t* logic = json_new_true();
json_insert_pair_into_object(root, "k_logic", logic);
json_t* knull = json_new_null();
json_insert_pair_into_object(root, "k_null", knull);
//array 數組
json_t *man_array = json_new_array();
json_insert_pair_into_object(root, "k_array", man_array);
//給數組插入數組
json_t* tmp1 = json_new_number("1");
json_t* tmp2 = json_new_string("hello");
json_insert_child(man_array, tmp1);
json_insert_child(man_array, tmp2);
//end
//嵌套一個Object
json_t* weap_object = json_new_object();
json_insert_pair_into_object(root, "weap_object", weap_object);
//嵌套的object 里面在加元素
tmp1 = json_new_string("putongzidan");
json_insert_pair_into_object(weap_object, "default", tmp1);
//end
//編碼成string   text指向這個字符串內存地址
char* text = NULL;
json_tree_to_string(root, &text);
//釋放 這個root
printf("json endcode :\n%s\n",text);
//json字符串  變成json對象數 讀json
json_free_value(&root);
root = NULL;
json_parse_document(&root,text);//從json文本來生成json對象數
free(text);
//解碼這個字符串
json_t* user_name = json_find_first_label(root,"k_str");
json_t* user = user_name->child;//獲取value
printf("name type%d:%s\n", user->type, user->text);
//解碼array里的
json_t* user_array = json_find_first_label(root, "k_array");
json_t* arrat1 = user_array->child->child;
printf("name type%d:%s\n", arrat1->type, arrat1->text);
//獲取數組 下一個next
json_t* arrat2 = arrat1->next;
printf("name type%d:%s\n", arrat2->type, arrat2->text);
//解碼object里的
json_t* user_object = json_find_first_label(root, "weap_object");
json_t* user_object_child = user_object->child->child;
arrat2 = user_object_child->child;
printf("name type%d:%s\n", arrat2->type, arrat2->text);
//還有在釋放一次  因為這個是 生成的對象數
json_free_value(&root);
system("pause");
return 0;
}






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武邑县| 锡林浩特市| 章丘市| 抚顺县| 龙岩市| 天峨县| 泰宁县| 栾城县| 株洲县| 滦南县| 杭州市| 文昌市| 松溪县| 灵山县| 科技| 朝阳市| 绵竹市| 汝州市| 古丈县| 恭城| 永吉县| 大田县| 瑞金市| 开平市| 射洪县| 阿坝县| 南岸区| 长葛市| 宁德市| 乌审旗| 弥勒县| 汝州市| 武邑县| 蕲春县| 鄂托克旗| 渭源县| 梧州市| 云和县| 昌江| 安丘市| 松江区|