91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23.54MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-07-28
  • 語言: 其他
  • 標(biāo)簽: C/C??

資源簡介

zzzJSON是一個(gè)純C實(shí)現(xiàn)的JSON解析器,代碼樸素,注釋豐富,簡單易懂,擁有極致的JSON解析和序列化速度,提供對JSON數(shù)據(jù)的讀寫功能,同時(shí),僅依賴glibc且所有代碼均包含在一個(gè)頭文件中,使用極其方便

資源截圖

代碼片段和文件信息

#include?“../../zzzjson.h“
#include?

//?深復(fù)制函數(shù),這里命名為GetAndSet更直觀
void?GetAndSet(Value?*srcv?Value?*desv)
{
????//?獲取值的類型
????const?JSONType?*t;
????t?=?Type(srcv);
????if?(t?==?0)
????????return;
????switch?(*t)
????{
????case?JSONTYPEARRAY:
????{
????????//?如果是數(shù)組,則把當(dāng)前值設(shè)為數(shù)組,然后遍歷并復(fù)制數(shù)組中的每個(gè)值
????????SetArray(desv);
????????Value?*next?=?Begin(srcv);
????????while?(next?!=?0)
????????{
????????????Value?*v?=?NewValue(desv->A);
????????????GetAndSet(next?v);
????????????if?(ArrayAddFast(desv?v)?!=?True)
????????????????return;
????????????next?=?Next(next);
????????}
????????break;
????}
????case?JSONTYPEobject:
????{
????????//?如果是對象,則把當(dāng)前值設(shè)為對象,然后遍歷并復(fù)制對象中的每個(gè)值
????????SetObj(desv);
????????Value?*next?=?Begin(srcv);
????????while?(next?!=?0)
????????{
????????????Value?*v?=?NewValue(desv->A);
????????????SetKeyFast(v?GetKey(next));
????????????GetAndSet(next?v);
????????????if?(ObjAddFast(desv?v)?!=?True)
????????????????return;
????????????next?=?Next(next);
????????}
????????break;
????}
????case?JSONTYPEBOOL:
????{
????????//?如果是布爾值,則獲取并復(fù)制該值
????????const?zzz_BOOL?*b?=?GetBool(srcv);
????????if?(b?==?0)
????????????return;
????????SetBool(desv?*b);
????????break;
????}
????case?JSONTYPENULL:
????{
????????//?如果是空,則復(fù)制該值
????????if?(IsNull(srcv)?==?False)
????????????return;
????????SetNull(desv);
????????break;
????}

????case?JSONTYPESTRING:
????{
????????//?如果是字符串,則獲取并復(fù)制該字符串
????????const?char?*str?=?GetStr(srcv);
????????if?(str?==?0)
????????????return;
????????//?如果需要拷貝字符串,則需要使用SetStr
????????if?(SetStrFast(desv?str)?!=?True)
????????????return;
????????break;
????}
????case?JSONTYPENUMBER:
????{
????????//?如果是數(shù)字,則獲取并復(fù)制該數(shù)字
????????const?char?*str?=?GetNumStr(srcv);
????????if?(str?==?0)
????????????return;
????????//?如果需要拷貝數(shù)字,則需要使用SetNumStr
????????if?(SetNumStrFast(desv?str)?!=?True)
????????????return;
????????break;
????}
????}
}
int?main()
{
????const?char?*src_json?=?“[{\“key\“:true}false{\“key1\“:true}[nullfalse[]true][\“\“123\“str\“]null]“;
????//?創(chuàng)建一個(gè)內(nèi)存分配器
????Allocator?*A?=?NewAllocator();
????//?創(chuàng)建兩個(gè)值
????Value?*src_v?=?NewValue(A);
????Value?*des_v?=?NewValue(A);
????//?解析JSON文本
????BOOL?ret?=?ParseFast(src_v?src_json);
????if?(ret?!=?True)
????{
????????printf(“ParseFast?Fail!\n“);
????????return?1;
????}
????//?深復(fù)制
????GetAndSet(src_v?des_v);
????//?序列化
????const?char?*des_json?=?Stringify(des_v);
????printf(“src_json:%s\n“?src_json);
????if?(des_json?!=?0)
????????printf(“des_json:%s\n“?des_json);
????//?釋放內(nèi)存
????ReleaseAllocator(A);
????return?0;
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\
?????文件?????????199??2019-04-18?03:40??zzzjson-master\.gitattributes
?????文件?????????401??2019-04-18?03:40??zzzjson-master\.gitignore
?????文件???????19332??2019-04-18?03:40??zzzjson-master\README.md
?????文件???????86280??2019-04-18?03:40??zzzjson-master\READMECHN.md
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\beta\
?????文件???????75722??2019-04-18?03:40??zzzjson-master\beta\zzzjson_beta.h
?????文件????????5736??2019-04-18?03:40??zzzjson-master\build.sh
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\resource\
?????文件??????120037??2019-04-18?03:40??zzzjson-master\resource\zzzJSON.jpg
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\sample\
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\sample\c++\
?????文件????????3115??2019-04-18?03:40??zzzjson-master\sample\c++\sample.cpp
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\sample\c\
?????文件????????2928??2019-04-18?03:40??zzzjson-master\sample\c\sample.c
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\sample\go\
?????文件?????????456??2019-04-18?03:40??zzzjson-master\sample\go\sample.go
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\test\
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\test\conformance\
?????文件???????10940??2019-04-18?03:40??zzzjson-master\test\conformance\conformance_test.cpp
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\test\conformance\data\
?????目錄???????????0??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\
?????文件??????????31??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail1.json
?????文件??????????58??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail10.json
?????文件??????????29??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail11.json
?????文件??????????31??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail12.json
?????文件??????????43??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail13.json
?????文件??????????31??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail14.json
?????文件??????????34??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail15.json
?????文件???????????8??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail16.json
?????文件??????????34??2019-04-18?03:40??zzzjson-master\test\conformance\data\jsonchecker\fail17.json
............此處省略638個(gè)文件信息

評論

共有 條評論

相關(guān)資源