code: func FromJSON(p string) (Args, error) {
  	args := NewArgs()
  
  	if p == "" {
  		return args, nil
  	}
  
  	raw := []byte(p)
  	err := json.Unmarshal(raw, &args)
  	if err == nil {
  		return args, nil
  	}
  
  	// Fallback to parsing arguments in the legacy slice format
  	deprecated := map[string][]string{}
  	if legacyErr := json.Unmarshal(raw, &deprecated); legacyErr != nil {
  		return args, err
  	}
  
  	args.fields = deprecatedArgs(deprecated)
  	return args, nil
  }
docs: // FromJSON decodes a JSON encoded string into Args