code: func (sm *SignedManifest) MarshalJSON() ([]byte, error) {
  	if len(sm.all) > 0 {
  		return sm.all, nil
  	}
  
  	// If the raw data is not available, just dump the inner content.
  	return json.Marshal(&sm.Manifest)
  }
docs: // MarshalJSON returns the contents of raw. If Raw is nil, marshals the inner
  // contents. Applications requiring a marshaled signed manifest should simply
  // use Raw directly, since the the content produced by json.Marshal will be
  // compacted and will fail signature checks.