json范例1

来源:互联网 发布:阿里云工商数据查询 编辑:程序博客网 时间:2024/06/06 19:47

/************************************
文件名称:json.text
文件功能:文件中存放json 格式的字符串(供json.c 读取使用)
作    者:王治博
创建日期:2016-12-27
修改日期:无
修改原因:无
********************************************/

{"glossary":{"tit":"exampleglossary","GlossDiv":{"TYitle":"S","GlossList":[{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standa

rdGeneralizedMarkupLanguage","Acronym":"SGML","Abbrev":"ISO8879:1986","GlossDef":"Ameta-markuplanguage,usedtocreatemarkuplan

guagessuchasDocBook.","GlossSeeAlso":["GML","XML","markup"]}]}},"shi":"shaojie"}

/************************************
文件名称:json.c
文件功能:处理json 格式的字符串
作    者:王治博
创建日期:2016-12-27
修改日期:无
修改原因:无
********************************************/

#include <stdio.h>
#include <string.h>
#include <json/json.h>
#include <json/json_object_private.h>
#define JSON_PATH_FILE "json.txt"
void main()
{
json_object *jsonobj =NULL,*jsondata=NULL,*subjsonobj=NULL,*jsonarray=NULL;
char str[1024]={0}; 
int len=0,i; 

jsonobj = json_object_from_file(JSON_PATH_FILE);/*从文件中生成一个json 对象*/

subjsonobj= json_object_object_get(jsonobj ,"glossary");/*从json对象(jsonobj )中获取键值为"glossary"的子对象(subjsonobj)*/


jsondata= json_object_object_get(subjsonobj,"GlossDiv");/*从json对象(subjsonobj)中获取键值为"glossary"的子对象(jsondata)*/


printf("GlossDiv=%s\n",json_object_get_string(jsondata));/*将jison对象转换成json格式的字符串输出*/

jsonarray= json_object_object_get(jsondata,"GlossList");/*从json对象(jsondata)中获取键值为"glossary"的子对象(jsonarray)*/
printf("GlossList=%s\n",json_object_get_string(jsonarray));

subjsonobj = json_object_object_get(jsonobj ,"shi");
jsondata= json_object_object_get(subjsonobj,"GlossDiv");
printf("jsondata=%s\n",json_object_get_string(jsondata));
}

原创粉丝点击