- Notifications
You must be signed in to change notification settings - Fork4
Julia wrapper for yyjson for reading and parsing JSON
License
bhftbootcamp/YYJSON.jl
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
YYJSON is a convenient wrapper aroundyyjson library for reading and parsing JSON documents and provides its own parser implementation.
| Feature | Description |
|---|---|
| Performance | Able to read gigabytes of JSON document per second. |
| Flexibility | The library wraps a lot of methods of the original library, which allows you to make your own implementation of JSON reader/parser/(de)serializer. |
| Parser | Provides its own parser implementation usingyyjson tools. |
To install YYJSON, simply use the Julia package manager:
] add YYJSON
A small example of parsing the returned result from a ticker request:
using YYJSONjson="""{ "retCode":0, "retMsg":"OK", "result":{ "ap":0.6636, "bp":0.6634, "h":0.6687, "l":0.6315, "lp":0.6633, "o":0.6337, "qv":1.1594252877069e7, "s":"ADAUSDT", "t":"2024-03-25T19:05:35.491000064", "v":1.780835204e7 }, "retExtInfo":{}, "time":"2024-03-25T19:05:38.912999936"}"""julia>parse_json(json)Dict{String, Any} with5 entries:"retExtInfo"=>Dict{String, Any}()"time"=>"2024-03-25T19:05:38.912999936""retCode"=>0"retMsg"=>"OK""result"=>Dict{String, Any}("v"=>1.78084e7,"ap"=>0.6636,"o"=>0.6337,...)
Lazy parsing enables more efficient value retrieval compared to regular parsing:
using YYJSONjson=read("assets/exchange_info.json", String)functiontest_full_parse(json) parsed=parse_json(json)return parsed["symbols"][1]["filters"][1]["filterType"]endfunctiontest_lazy_parse(json)parse_lazy_json(json)do lazy_parsedreturn lazy_parsed["symbols"][1]["filters"][1]["filterType"]endendjulia>@timetest_full_parse(json)0.000245 seconds (2.89 k allocations:203.727 KiB)"PRICE_FILTER"julia>@timetest_lazy_parse(json)0.000041 seconds (10 allocations:448 bytes)"PRICE_FILTER"
- yyjson – Official library repository.
- yyjson_jll.jl – Julia wrapper for yyjson.
Contributions to YYJSON are welcome! If you encounter a bug, have a feature request, or would like to contribute code, please open an issue or a pull request on GitHub.
About
Julia wrapper for yyjson for reading and parsing JSON
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.