Awesome
YYJSON.jl
YYJSON is a convenient wrapper around yyjson library for reading and parsing JSON documents and provides its own parser implementation.
<html> <body> <table> <tr><th>Feature        </th><th><div>Description</div></th></tr> <tr> <td>Performance</td> <td><div>Able to <code>read</code> gigabytes of JSON document per second.</div></td> </tr> <tr> <td>Flexibility</td> <td><div>The library wraps a lot of methods of the original library, which allows you to make your own implementation of JSON <code>reader</code>/<code>parser</code>/<code>(de)serializer</code>.</div></td> </tr> <tr> <td>Parser</td> <td><div>Provides its own <code>parser</code> implementation using <a href="https://github.com/ibireme/yyjson">yyjson</a> tools.</div></td> </tr> </table> </body> </html>Installation
To install YYJSON, simply use the Julia package manager:
] add YYJSON
Usage
A small example of parsing the returned result from a ticker request:
using YYJSON
json = """
{
"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} with 5 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, ...)
Contributing
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.