C語言 JSON 解析庫 - MJSON使用介紹
安裝:
解壓出來,然後直接包含 json.h 就可以了。
下面是幾個官方給出的幾個例子,由於直接拷貝過來編譯沒通過,做了一些修改,詳見註釋部分。
【mjson例一】
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include "json.h"
int main (void)
{
char *text;
json_t *root, *entry, *label, *value;
setlocale (LC_ALL, "");//設為系統預設地域資訊
// creates the root node
root = json_new_object();
// create an entry node
entry = json_new_object();
// 第一部分,列印結果:
// {"entry":{"name":"Andew","phone":"555 123 456"}}
// insert the first label-value pair
label = json_new_string("name");
value = json_new_string("Andew");
json_insert_child(label, value);
json_insert_child(entry, label);
// insert the second label-value pair
label = json_new_string("phone");
value = json_new_string("555 123 456");
json_insert_child(label, value);
json_insert_child(entry, label);
// inserts that object as a value in a label-value pair
label = json_new_string("entry");
json_insert_child(label, entry);
// inserts that label-value pair into the root object
json_insert_child(root, label);
// print the result
json_tree_to_string(root, &text);
printf("%s\n",text);
// clean up
free(text);
json_free_value(&root);
//列印第二部分,陣列示例,
//結果:
// ["test1","test2",109]
root = json_new_array();
label = json_new_string("test1");
json_insert_child(root,label);
value = json_new_string("test2");
json_insert_child(root,value);
value = json_new_number("109");
json_insert_child(root,value);
json_tree_to_string(root,&text);
printf("%s\n",text);
// clean up
free(text);
json_free_value(&root);
return EXIT_SUCCESS;
}
【mjson例二】
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include "json.h"
json_t *new_entry(char *name, char *phone)
{
json_t *entry, *label, *value;
// create an entry node
entry = json_new_object();
// insert the first label-value pair
label = json_new_string("name");
value = json_new_string("Andew");
json_insert_child(label, value);
json_insert_child(entry, label);
// insert the second label-value pair
label = json_new_string("phone");
value = json_new_string("555 123 456");
json_insert_child(label, value);
json_insert_child(entry, label);
// inserts that object as a value in a label-value pair
label = json_new_string("entry");
json_insert_child(label, entry);
return label;
}
int main (void)
{
setlocale (LC_ALL, "");//設定為系統預設的地域資訊
json_t *root, *subtree;
// creates the root node
root = json_new_object();
// creates the desired MJSON document subtree
subtree = new_entry("Andrew", "555 123 456");
// inserts the subtree into the root object
json_insert_child(root, subtree);
// print the result
char *text;
json_tree_to_string(root, &text);
printf("%s\n",text); //官方例子中為printf("%ls\n",text);去掉l才能列印出來。。
// clean up
free(text);
json_free_value(&root);
return EXIT_SUCCESS;
}
【輸出結果】
{"entry":{"name":"Andew","phone":"555 123 456"}}
【mjson例三】
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include "json.h"
int main (void)
{
setlocale (LC_ALL, "");
char *document = "{\"entry\":{\"name\":\"Andew\",\"phone\":\"555 123 456\"}}";
json_t *root;
printf("Parsing the document…\n");
root = json_parse_document(document);
printf("Printing the document tree…\n");
json_tree_to_string(root, &document);
wprintf("%ls\n", document);
// clean up
json_free_value(&root);
return EXIT_SUCCESS;
}
【參考】
http://www.json.org/json-zh.html
相關文章
- C語言-GCC的簡單介紹C語言GC
- JSON for Modern C++ 庫的介紹與使用示例程式碼JSONC++
- 關於C語言的簡單介紹C語言
- Go語言介紹Go
- C語言Math函式庫簡介C語言函式
- 解釋語言介紹
- 文件模型(JSON)使用介紹模型JSON
- C/C++語言新增“函式過載”功能簡單介紹和使用方法C++函式
- jquery解析json格式字串簡單介紹jQueryJSON字串
- 邏輯式程式語言極簡實現(使用C#) - 1. 邏輯式程式語言介紹C#
- 簡單介紹C語言使用四種方法初始化結構體C語言結構體
- C 語言整數與字串的相互轉換介紹字串
- C#實現多語言介面程式的方法介紹C#
- c語言快速排序(庫函式使用)C語言排序函式
- C語言基礎-C簡介C語言
- JSON 介紹JSON
- java語言的入門介紹Java
- Kotlin語言極簡介紹Kotlin
- 各種語言的介紹(轉)
- groovy 程式語言簡單介紹
- go語言json的使用技巧GoJSON
- C語言-1.簡介C語言
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- go語言Json解析實用工具 - gjsonGoJSON
- 語言型別介紹及其Python的語言型別型別Python
- - C語言標準庫C語言
- 系統整合語言Ballerina介紹
- TCL指令碼語言基礎介紹指令碼
- JSON簡介(java中的json庫使用)JSONJava
- C 語言中 static 的作用介紹
- mocha 的基本介紹&&expect風格斷言庫的基本語法
- go語言請求http介面示例 並解析jsonGoHTTPJSON
- MySQL5.7 JSON型別使用介紹MySqlJSON型別
- tmpnam() - C語言庫函式C語言函式
- tmpfile() - C語言庫函式C語言函式
- c語言函式庫(轉)C語言函式
- C語言 16 系統庫C語言
- Dart語言詳解(一)——詳細介紹Dart