/*
{"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"}
*/
#include <stdio.h>
#include <string.h>#include <json/json.h>
#include <json/json_object_private.h>
#define JSON_PATH_FILE "/home/wzb/testls/json/json.txt"
void main()
{
json_object *jsonobj=NULL,*jsondata=NULL,*tmpobj=NULL,*jsonarray=NULL;
char str[1024]={0};
int len=0,i;
jsonobj= json_object_from_file(JSON_PATH_FILE);/*从文件中获取一个json 对象*/
json_object_object_foreach(jsonobj,key,val)
{
if(strcmp(key,"glossary")==0)
{
printf("glossary=%s\n",json_object_get_string(val));
#if 1
jsondata=json_object_new_object();
jsondata=json_object_get(val);
if(is_error(jsondata))
{
json_object_put(jsondata);
return;
}
printf("jsondata=%s\n",json_object_get_string(jsondata));
json_object_object_foreach(jsondata,key,val)
{
if(strcmp(key,"GlossDiv")==0)
{
printf("GlossDiv=%s\n",json_object_get_string(val));
tmpobj=val;
json_object_object_foreach(tmpobj,key,val)
{
if(strcmp(key,"TYitle")==0)
{
printf("TYitle=%s\n",json_object_get_string(val));
}
if(strcmp(key,"GlossList")==0)
{
printf("GlossList=%s\n",json_object_get_string(val));
jsonarray=json_object_new_array();
jsonarray=val;
len=json_object_array_length(jsonarray);
for(i=0;i<len;i++)
{
tmpobj= json_object_array_get_idx(jsonarray,i);
json_object_object_foreach(tmpobj,key,val)
{
if(strcmp(key,"ID")==0)
{
printf("ID=%s\n",json_object_get_string(val));
}
if(strcmp(key,"SortAs")==0)
{
printf("SortAs=%s\n",json_object_get_string(val));
}
if(strcmp(key,"GlossTerm")==0)
{
printf("GlossTerm=%s\n",json_object_get_string(val));
}
if(strcmp(key,"Acronym")==0)
{
printf("Acronym=%s\n",json_object_get_string(val));
}
if(strcmp(key,"Acronym")==0)
{
printf("Acronym=%s\n",json_object_get_string(val));
}
/*
if(strcmp(key,"GlossTerm")==0)
{
printf("GlossTerm=%s\n",json_object_get_string(val));
}*/
if(strcmp(key,"GlossDef")==0)
{
printf("GlossDef=%s\n",json_object_get_string(val));
}
if(strcmp(key,"GlossSeeAlso")==0)
{
printf("GlossSeeAlso=%s\n",json_object_get_string(val));
}
}
}
}
}
}
if(strcmp(key,"tit")==0)
{
printf("tit=%s\n",json_object_get_string(val));
}
}
json_object_put(jsondata);
#endif
if(strcmp(key,"shi")==0)
{
printf("shi=%s\n",json_object_get_string(val));
}
}
}