diff --git a/daemon/daemon.go b/daemon/daemon.go index 7003f9d..4f26364 100644 --- a/daemon/daemon.go +++ b/daemon/daemon.go @@ -12366,8 +12366,13 @@ func (d *Daemon) getFormAccessibilityAudit(tabID, formSelector string, timeout i if result.err != nil { return nil, fmt.Errorf("failed to analyze forms: %v", result.err) } - if err := json.Unmarshal([]byte(result.result.Value.Str()), &resultData); err != nil { - return nil, fmt.Errorf("failed to parse form analysis result: %v", err) + // Convert the result to JSON + jsonBytes, err := json.Marshal(result.result.Value.Val()) + if err != nil { + return nil, fmt.Errorf("failed to marshal result value: %v (value type: %T, value: %v)", err, result.result.Value.Val(), result.result.Value.Val()) + } + if err := json.Unmarshal(jsonBytes, &resultData); err != nil { + return nil, fmt.Errorf("failed to parse form analysis result: %v (json: %s)", err, string(jsonBytes)) } } } else { @@ -12375,8 +12380,13 @@ func (d *Daemon) getFormAccessibilityAudit(tabID, formSelector string, timeout i if err != nil { return nil, fmt.Errorf("failed to analyze forms: %v", err) } - if err := json.Unmarshal([]byte(res.Value.Str()), &resultData); err != nil { - return nil, fmt.Errorf("failed to parse form analysis result: %v", err) + // Convert the result to JSON + jsonBytes, err := json.Marshal(res.Value.Val()) + if err != nil { + return nil, fmt.Errorf("failed to marshal result value: %v (value type: %T, value: %v)", err, res.Value.Val(), res.Value.Val()) + } + if err := json.Unmarshal(jsonBytes, &resultData); err != nil { + return nil, fmt.Errorf("failed to parse form analysis result: %v (json: %s)", err, string(jsonBytes)) } }