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 ¶
- func Parse(src []byte, filename string) (*hcl.File, hcl.Diagnostics)
- func ParseExpression(src []byte, filename string) (hcl.Expression, hcl.Diagnostics)
- func ParseExpressionWithStartPos(src []byte, filename string, start hcl.Pos) (hcl.Expression, hcl.Diagnostics)
- func ParseFile(filename string) (*hcl.File, hcl.Diagnostics)
- func ParseWithStartPos(src []byte, filename string, start hcl.Pos) (*hcl.File, hcl.Diagnostics)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Parse ¶
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
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
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.