Home

Awesome

YYJSON.jl

Stable Dev Build Status Coverage Registry

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&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</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.