无法更新jsonb(即子数组)列

I am just getting my feet wet with go-pg, and having some issues utilizing the JSONB capabilities of PostgreSQL DB.

I have defined my model structs as:

type Chemical struct {
    Id               int
    ChemicalName     string
    ListingDetails   []ListingDetail `sql:",array"`
    ParentChemical   *Chemical       `pg:"fk_parent_chemical_id"`
    ParentChemicalId int
}

type ListingDetail struct {
    TypeOfToxicity string
    ListingMechanism string
    CasNo string
    ListedDate time.Time
    SafeHarborInfo string
}

In the Chemical struct - by using the tag sql:",array" on the ListingDetails field - my understanding is this should get mapped to a jsonb column in the destination table. Using go-pg's CreateTable - a chemicals table gets created with a listing_details jsonb column - so all is good in that regards.

However, I cant seem to update this field (in the db) successfully. When I initially create a chemical record in teh database - there are no ListingInfos - I go back up update them at a later time. Below is a snippet showing how I do that.

  detail := models.ListingDetail{}
  detail.TypeOfToxicity = strings.TrimSpace(row[1])
  detail.ListingMechanism = strings.TrimSpace(row[2])
  detail.CasNo = strings.TrimSpace(row[3])
  detail.SafeHarborInfo = strings.TrimSpace(row[5])

  chemical.ListingDetails = append(chemical.ListingDetails, detail)
  err = configuration.Database.Update(&chemical)
  if err != nil {
    panic(err)
  }

But I always get error message shown below. What am I doing wrong??

panic: ERROR #22P02 malformed array literal: "{{"TypeOfToxicity":"cancer","ListingMechanism":"AB","CasNo":"26148-68-5","ListedDate":"1990-01-01T00:00:00Z","SafeHarborInfo":"2"}}"