How golang parses unknown format json strings (possibly json objects, possibly json arrays)

I. parsing json array strings

    data:= `[
        {
            "name": "aaa",
            "id":   "54546221"
        },
        {
            "name": "bbb",
            "id":   "89875646"
        }
    ]`
`

dataArr := []interface{}{}
err := json.Unmarshal([]byte(data), &dataArr)

II. Parsing json object string

    data:= `{
            "name": "aaa",
            "id":   "54546221"
        }`
`
dataArr := map[string]interface{}{}
err := json.Unmarshal([]byte(data), &dataArr)

how do I parse an data json string without knowing the data format?

Sep.12,2021

  IsObject () .  					
Menu