JsonToken JPath uses double quotes (PC0014)

When using JPath expressions to query JSON, string values within the path should use double quotes, not single quotes. Single quotes in JPath expressions may not work correctly.

A code fix is available for this diagnostic.

Example

The following code uses single quotes in JPath:

codeunit 50100 MyCodeunit
{
    procedure ReadJson()
    var
        JsonObject: JsonObject;
        JsonToken: JsonToken;
    begin
        JsonObject.SelectToken('$[?(@.name==''John'')]', JsonToken); // JsonToken JPath uses double quotes [PC0014]
    end;
}

To fix this, use double quotes:

codeunit 50100 MyCodeunit
{
    procedure ReadJson()
    var
        JsonObject: JsonObject;
        JsonToken: JsonToken;
    begin
        JsonObject.SelectToken('$[?(@.name=="John")]', JsonToken);
    end;
}