# rpc error: code = InvalidArgument desc = invalid character '}' looking for beginning of object key string

- **ID:** `go/grpc-invalid-argument-malformed-json`
- **Domain:** go
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The request payload is not valid JSON when using a JSON transcoding gateway or custom unmarshal.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.3 | active | — | — |

## Workarounds

1. **** (90% success)
   ```
   if !json.Valid(payload) { return errors.New("invalid JSON") }
   ```
2. **** (85% success)
   ```
   import "google.golang.org/protobuf/encoding/protojson"
// Use protojson.Unmarshal with DiscardUnknown option.
   ```

## Dead Ends

- **** — Printing doesn't fix syntax errors; need proper validation. (60% fail)
- **** — Over-escaping can break valid JSON. (50% fail)
