package jsonutil

import "github.com/hashicorp/vault/sdk/helper/jsonutil"

Index

Functions

func DecodeJSON

func DecodeJSON(data []byte, out interface{}) error

DecodeJSON tries to decompress the given data. The call to decompress, fails if the content was not compressed in the first place, which is identified by a canary byte before the compressed data. If the data is not compressed, it is JSON decoded directly. Otherwise the decompressed data will be JSON decoded.

func DecodeJSONFromReader

func DecodeJSONFromReader(r io.Reader, out interface{}) error

Decodes/Unmarshals the given io.Reader pointing to a JSON, into a desired object

func EncodeJSON

func EncodeJSON(in interface{}) ([]byte, error)

Encodes/Marshals the given object into JSON

func EncodeJSONAndCompress

func EncodeJSONAndCompress(in interface{}, config *compressutil.CompressionConfig) ([]byte, error)

EncodeJSONAndCompress encodes the given input into JSON and compresses the encoded value (using Gzip format BestCompression level, by default). A canary byte is placed at the beginning of the returned bytes for the logic in decompression method to identify compressed input.

Source Files

json.go

Version
v0.18.0 (latest)
Published
Jun 5, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
1 month ago

Tools for package owners.