# `JsonRemedy.Layer3.SyntaxDetectors`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L1)

Syntax detection and validation functions for Layer 3 syntax normalization.

Contains functions to detect various syntax issues like unquoted keys,
trailing commas, missing commas/colons, and other JSON syntax problems.

# `find_colon_after_identifier`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L77)

```elixir
@spec find_colon_after_identifier(String.t(), non_neg_integer()) ::
  {:found, non_neg_integer()} | :not_found
```

Look for colon after identifier to detect unquoted keys.

# `has_missing_colons?`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L67)

```elixir
@spec has_missing_colons?(String.t()) :: boolean()
```

Check for missing colons.

# `has_missing_commas?`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L51)

```elixir
@spec has_missing_commas?(String.t()) :: boolean()
```

Check for missing commas (simplified detection).

# `has_syntax_issues?`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L15)

```elixir
@spec has_syntax_issues?(String.t()) :: boolean()
```

Simple heuristic to detect if content has syntax issues (no regex).

# `has_trailing_commas?`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L43)

```elixir
@spec has_trailing_commas?(String.t()) :: boolean()
```

Check for trailing commas.

# `has_unquoted_keys?`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/syntax_detectors.ex#L34)

```elixir
@spec has_unquoted_keys?(String.t()) :: boolean()
```

Check for unquoted keys using string analysis.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
