웹서핑을 하던중 발견한 델파이용 JSON 파서입니다.
Json 포맷 파싱과 생성 속도가 매우 빠르다고 되어있네요, 실제 사용은 해보지 않았습니다.
첨부된 파일을 보시면 다양한 샘플을 제공하여 기존의 JSON 라이브러리 보다 사용상의 접근을 용이하게 해주는 것 같구요.
지속적으로 발전할 가치가 있다는게 장점이라고 볼 수 있을듯 싶습니다.
기존의 lkjson이나 ujson에 비해 결코 뒤떨어지지 않는 라이브러리라고 볼 수 있겠네요. (어디까지나 개인적 소견.)
lkjson과 ujson에 대한 소개 링크는 이곳으로 => http://dolba.net/tt/k2club/806
출처는 : http://www.progdigy.com 입니다.
JSON toolkit is compatible with Delphi and Freepascal(win32/64 linux32/64).
Features:
- Parse/write JSON format very quickly.
- Validator.
- JSON-RPC protocole.
- Custom Variant.
- Can write JSON format to be human readable.
History:
v1.0
+ renamed class and files
+ interfaced object
+ added a new data type: the method
+ parser can now evaluate properties and call methods
+ removed variant implementation (deprecated)
- removed obselet rpc class
- removed "find" method, now you can use "parse" method instead
v0.5
+ new find method to get or set value using a path syntax
ex: obj.s['obj.prop[1]'] := 'string value';
obj.a['@obj.array'].b[n] := true; // @ -> create property if necessary
v0.4
+ bug corrected: AVL tree badly balanced.
v0.3
+ New validator partially based on the Kwalify syntax.
+ extended syntax to parse unquoted fields.
+ Freepascal compatibility win32/64 Linux32/64.
+ JavaToDelphiDateTime and DelphiToJavaDateTime improved for UTC.
+ new TJsonObject.Compare function.
v0.2
+ Hashed string list replaced with a faster AVL tree
+ JsonInt data type can be changed to int64
+ JavaToDelphiDateTime and DelphiToJavaDateTime helper fonctions
+ from json-c v0.7
+ Add escaping of backslash to json output
+ Add escaping of foward slash on tokenizing and output
+ Changes to internal tokenizer from using recursion to
using a depth state structure to allow incremental parsing
v0.1
+ first release
Features:
- Parse/write JSON format very quickly.
- Validator.
- JSON-RPC protocole.
- Custom Variant.
- Can write JSON format to be human readable.
History:
v1.0
+ renamed class and files
+ interfaced object
+ added a new data type: the method
+ parser can now evaluate properties and call methods
+ removed variant implementation (deprecated)
- removed obselet rpc class
- removed "find" method, now you can use "parse" method instead
v0.5
+ new find method to get or set value using a path syntax
ex: obj.s['obj.prop[1]'] := 'string value';
obj.a['@obj.array'].b[n] := true; // @ -> create property if necessary
v0.4
+ bug corrected: AVL tree badly balanced.
v0.3
+ New validator partially based on the Kwalify syntax.
+ extended syntax to parse unquoted fields.
+ Freepascal compatibility win32/64 Linux32/64.
+ JavaToDelphiDateTime and DelphiToJavaDateTime improved for UTC.
+ new TJsonObject.Compare function.
v0.2
+ Hashed string list replaced with a faster AVL tree
+ JsonInt data type can be changed to int64
+ JavaToDelphiDateTime and DelphiToJavaDateTime helper fonctions
+ from json-c v0.7
+ Add escaping of backslash to json output
+ Add escaping of foward slash on tokenizing and output
+ Changes to internal tokenizer from using recursion to
using a depth state structure to allow incremental parsing
v0.1
+ first release