json

package
v2.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2021 License: MPL-2.0 Imports: 13 Imported by: 73

Documentation

Overview

Package json is the JSON parser for HCL. It parses JSON files and returns implementations of the core HCL structural interfaces in terms of the JSON data inside.

This is not a generic JSON parser. Instead, it deals with the mapping from the JSON information model to the HCL information model, using a number of hard-coded structural conventions.

In most cases applications will not import this package directly, but will instead access its functionality indirectly through functions in the main "hcl" package and in the "hclparse" package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse(src []byte, filename string) (*hcl.File, hcl.Diagnostics)

Parse attempts to parse the given buffer as JSON and, if successful, returns a hcl.File for the HCL configuration represented by it.

This is not a generic JSON parser. Instead, it deals only with the profile of JSON used to express HCL configuration.

The returned file is valid only if the returned diagnostics returns false from its HasErrors method. If HasErrors returns true, the file represents the subset of data that was able to be parsed, which may be none.

func ParseExpression added in v2.7.0

func ParseExpression(src []byte, filename string) (hcl.Expression, hcl.Diagnostics)

ParseExpression parses the given buffer as a standalone JSON expression, returning it as an instance of Expression.

func ParseExpressionWithStartPos added in v2.7.0

func ParseExpressionWithStartPos(src []byte, filename string, start hcl.Pos) (hcl.Expression, hcl.Diagnostics)

ParseExpressionWithStartPos parses like json.ParseExpression, but unlike json.ParseExpression you can pass a start position of the given JSON expression as a hcl.Pos.

func ParseFile

func ParseFile(filename string) (*hcl.File, hcl.Diagnostics)

ParseFile is a convenience wrapper around Parse that first attempts to load data from the given filename, passing the result to Parse if successful.

If the file cannot be read, an error diagnostic with nil context is returned.

func ParseWithStartPos added in v2.7.0

func ParseWithStartPos(src []byte, filename string, start hcl.Pos) (*hcl.File, hcl.Diagnostics)

ParseWithStartPos attempts to parse like json.Parse, but unlike json.Parse you can pass a start position of the given JSON as a hcl.Pos.

In most cases json.Parse should be sufficient, but it can be useful for parsing a part of JSON with correct positions.

Types

This section is empty.

Directories

Path Synopsis
fuzz

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL