Probable JSON string detected (JSON002)

Property Value
Rule ID JSON002
Title Probable JSON string detected
Category Style
Subcategory N/A
Applicable languages C#, Visual Basic
Options N/A


This rule flags places where a JSON literal string is detected but is not explicitly identified. JSON is identified by using an inline comment or comment preceding the JSON string such as //lang=json or //lang=json,strict. The latter comment uses strict mode for JSON interpretation.

This rule may not be flagged in the editor if the JSON editor options are enabled in Tools > Options > Text Editor > C# | Visual Basic > Advanced > JSON strings.

This rule is IDE-only and not applicable for command-line scenarios.


This rule does not support any options. For options available to configure in the IDE when JSON is specified, see Invalid JSON pattern (JSON001).


The following code snippet shows an example where a probable JSON string may be detected.

// Code with violations
var v = """{ "pie": true, "cherry": [1, 2, 3] }""";

// Fixed code
// lang=json,strict
var v = """{ "pie": true, "cherry": [1, 2, 3] }""";

// Fixed code
var v = /*lang=json,strict*/ """{ "pie": true, "cherry": [1, 2, 3] }""";

Suppress a warning

If you want to suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.

#pragma warning disable JSON002
// The code that's violating the rule is on this line.
#pragma warning restore JSON002

To disable the rule for a file, folder, or project, set its severity to none in the configuration file.

dotnet_diagnostic.JSON002.severity = none

For more information, see How to suppress code analysis warnings.

See also