|
8 | 8 |
|
9 | 9 | ## Description |
10 | 10 |
|
11 | | -The JSON_VALID function returns 0 or 1 to indicate whether the input is a valid JSON. If the input is NULL, it returns NULL. |
| 11 | +The JSON_VALID function is used to validate whether the input is valid JSON format. This function accepts String type or JSON type input and validates the JSON format. |
12 | 12 |
|
13 | 13 | ## Syntax |
14 | 14 |
|
15 | 15 | ```sql |
16 | | -JSON_VALID( <str> ) |
17 | | - |
| 16 | +JSON_VALID(<str>) |
| 17 | +JSON_VALID(<json>) |
18 | 18 | ``` |
19 | 19 |
|
20 | | -Required Parameters |
21 | | -| Parameter | Description | |
22 | | -|------|------| |
23 | | -| `<str>` | The input string in JSON format to be parsed. | |
24 | | - |
25 | | -## Alias |
26 | | - |
27 | | -- JSONB_VALID |
28 | | - |
29 | | -## Examples |
| 20 | +## Parameters |
30 | 21 |
|
31 | | -1. Valid JSON string |
| 22 | +- `<str>`: String type, the JSON format string to be validated |
| 23 | +- `<json>`: JSON type, the JSON value to be validated |
32 | 24 |
|
33 | | -```sql |
34 | | -SELECT json_valid('{"k1":"v31","k2":300}'); |
35 | | -+-------------------------------------+ |
36 | | -| json_valid('{"k1":"v31","k2":300}') | |
37 | | -+-------------------------------------+ |
38 | | -| 1 | |
39 | | -+-------------------------------------+ |
| 25 | +## Return Values |
40 | 26 |
|
41 | | -``` |
| 27 | +- `1`: When the input is valid JSON format |
| 28 | +- `0`: When the input is not valid JSON format |
| 29 | +- `NULL`: When the input parameter is NULL |
42 | 30 |
|
43 | | -2. Invalid JSON string |
| 31 | +## Notes |
44 | 32 |
|
45 | | -```sql |
46 | | -SELECT json_valid('invalid json'); |
47 | | -+----------------------------+ |
48 | | -| json_valid('invalid json') | |
49 | | -+----------------------------+ |
50 | | -| 0 | |
51 | | -+----------------------------+ |
| 33 | +The support for JSON type parameters is to avoid potential issues that might occur with implicit type conversion (JSON to String) when passing a JSON column. Typically, data stored in JSON type columns is valid JSON data, so calling JSON_VALID on a JSON type parameter usually returns 1. |
52 | 34 |
|
53 | | -``` |
| 35 | +## Alias |
54 | 36 |
|
55 | | -3. NULL 参数 |
| 37 | +- JSONB_VALID |
56 | 38 |
|
57 | | -```sql |
58 | | -SELECT json_valid(NULL); |
59 | | -+------------------+ |
60 | | -| json_valid(NULL) | |
61 | | -+------------------+ |
62 | | -| NULL | |
63 | | -+------------------+ |
| 39 | +## Examples |
64 | 40 |
|
65 | | -``` |
| 41 | +1. Validate a valid JSON string |
| 42 | + ```sql |
| 43 | + SELECT json_valid('{"k1":"v31","k2":300}'); |
| 44 | + ``` |
| 45 | + ```text |
| 46 | + +-------------------------------------+ |
| 47 | + | json_valid('{"k1":"v31","k2":300}') | |
| 48 | + +-------------------------------------+ |
| 49 | + | 1 | |
| 50 | + +-------------------------------------+ |
| 51 | + ``` |
| 52 | + |
| 53 | +2. Validate an invalid JSON string |
| 54 | + ```sql |
| 55 | + SELECT json_valid('invalid json'); |
| 56 | + ``` |
| 57 | + ```text |
| 58 | + +----------------------------+ |
| 59 | + | json_valid('invalid json') | |
| 60 | + +----------------------------+ |
| 61 | + | 0 | |
| 62 | + +----------------------------+ |
| 63 | + ``` |
| 64 | + |
| 65 | +3. Validate NULL parameter |
| 66 | + ```sql |
| 67 | + SELECT json_valid(NULL); |
| 68 | + ``` |
| 69 | + ```text |
| 70 | + +------------------+ |
| 71 | + | json_valid(NULL) | |
| 72 | + +------------------+ |
| 73 | + | NULL | |
| 74 | + +------------------+ |
| 75 | + ``` |
| 76 | + |
| 77 | +4. Validate JSON type parameter |
| 78 | + ```sql |
| 79 | + SELECT json_valid(cast('{"k1":"v31","k2":300}' as json)); |
| 80 | + ``` |
| 81 | + ```text |
| 82 | + +----------------------------------------------------+ |
| 83 | + | json_valid(cast('{"k1":"v31","k2":300}' as json)) | |
| 84 | + +----------------------------------------------------+ |
| 85 | + | 1 | |
| 86 | + +----------------------------------------------------+ |
| 87 | + ``` |
0 commit comments