diff --git a/vehicle.go b/vehicle.go index ce7b546..c359c76 100644 --- a/vehicle.go +++ b/vehicle.go @@ -497,14 +497,13 @@ func (v *Vehicle) GetClimatePresets() { } v.client.logger.Debug("subaru climate presets parsed http output", "body", string(tmp.Data)) - unescapedJSON, err := strconv.Unquote(string(tmp.Data)) - if err != nil { - fmt.Println("Error unquoting:", err) - return - } + re1 := regexp.MustCompile(`([\\]["])`) + result := re1.ReplaceAllString(string(tmp.Data), "") + re2 := regexp.MustCompile(`([\\\\])`) + result = re2.ReplaceAllString(result, "") var cProfiles []ClimateProfile - err = json.Unmarshal([]byte(unescapedJSON), &cProfiles) + err = json.Unmarshal([]byte(result), &cProfiles) if err != nil { v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error()) }