getsops/sops · error
SOPS only supports JSON files with a top-level object (start
Error message
SOPS only supports JSON files with a top-level object (starting with '{'), not arrays or other types. Got delimiter %s instead. To encrypt this file, wrap it in an object, e.g., {"data": [...] What it means
Error "SOPS only supports JSON files with a top-level object (starting with '{'), not arrays or other types. Got delimiter %s instead. To encrypt this file, wrap it in an object, e.g., {"data": [...]" thrown in getsops/sops.
Source
Thrown at stores/json/store.go:292
if err != nil {
return nil, err
}
return store.reindentJSON(out)
}
func (store Store) treeBranchFromJSON(in []byte) (sops.TreeBranch, error) {
dec := json.NewDecoder(bytes.NewReader(in))
// Decode numbers as json.Number instead of the default float64, then
// normalize each to int/float64 (see normalizeJSONNumber). The default
// float64 silently loses precision for integers larger than 2^53.
dec.UseNumber()
value, err := dec.Token()
if err != nil {
return nil, err
}
if delim, ok := value.(json.Delim); ok {
if delim.String() != "{" {
return nil, fmt.Errorf("SOPS only supports JSON files with a top-level object (starting with '{'), not arrays or other types. Got delimiter %s instead. To encrypt this file, wrap it in an object, e.g., {\"data\": [...]}", value)
}
} else {
v, nerr := normalizeJSONNumber(value)
if nerr != nil {
v = value
}
return nil, fmt.Errorf("SOPS only supports JSON files with a top-level object (starting with '{'), not other JSON types. Got %#v of type %T instead", v, v)
}
return store.treeBranchFromJSONDecoder(dec)
}
func (store Store) reindentJSON(in []byte) ([]byte, error) {
var out bytes.Buffer
indent := "\t"
if store.config.Indent > -1 {
indent = strings.Repeat(" ", store.config.Indent)
} else if store.config.Indent < -1 {
return nil, errors.New("JSON Indentation parameter smaller than -1 is not accepted")View on GitHub (pinned to 13442bb981)
When it happens
Trigger: Thrown at stores/json/store.go:292 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of getsops/sops@13442bb981 (2026-09-01).
Data as JSON: /api/errors/dc87001058fe2206.
Report an issue: GitHub.