# JSON_INVALID

*LSL constant*

```lsl
string JSON_INVALID = "\\u{FDD0}";
```

A return value that indicates an invalid 'type' was specified to the [llList2Json](/functions/llList2Json/) function.

Also a return value for [llJsonValueType](/functions/llJsonValueType/) function indicating the data type of a given address specifier in a given string-serialized JSON object.

Also a return value for [llJsonGetValue](/functions/llJsonGetValue/) to signify a specifier list attempting to access a nonexistent location within a Json text (see Examples).

## Caveats

- Do **not** use `JSON_INVALID` with the [llList2Json](/functions/llList2Json/) or [llJsonSetValue](/functions/llJsonSetValue/) functions. Otherwise noncompliant, invalid Json text will result.

## Examples

<details open>
<summary>Example 1</summary>

```lsl collapse={4-8}
// Using JSON_INVALID to iterate over a json array
// of unknown length
string jsonText = "[1,2,3,5,6]";

default
{
    touch_start(integer total_number)
    {
        string item;
        integer iter;
        while ((item = llJsonGetValue(jsonText,[iter++])) != JSON_INVALID)
        {
            llOwnerSay(item); // "1","2","3","5","6"
        }
    }
}
```

</details>

## See also

### Constants

| Type Flags | Value | Unicode | [Integer](/functions/llOrd/) | [URL Encoded](https://wiki.secondlife.com/wiki/Category:LSL_Encoding/URL) | HTML Encoded | Description |
| --- | --- | --- | --- | --- | --- | --- |
| [JSON_INVALID](/constants/JSON_INVALID/) |  | U+FDDO | 64976 | "%EF%B7%90" | &amp;#xFDD0; | Value returned when inputs are not well formed. |
| [JSON_OBJECT](/constants/JSON_OBJECT/) |  | U+FDD1 | 64977 | "%EF%B7%91" | &amp;#xFDD1; |  |
| [JSON_ARRAY](/constants/JSON_ARRAY/) |  | U+FDD2 | 64978 | "%EF%B7%92" | &amp;#xFDD2; |  |
| [JSON_NUMBER](/constants/JSON_NUMBER/) |  | U+FDD3 | 64979 | "%EF%B7%93" | &amp;#xFDD3; |  |
| [JSON_STRING](/constants/JSON_STRING/) |  | U+FDD4 | 64980 | "%EF%B7%94" | &amp;#xFDD4; |  |
| [JSON_NULL](/constants/JSON_NULL/) |  | U+FDD5 | 64981 | "%EF%B7%95" | &amp;#xFDD5; |  |
| [JSON_TRUE](/constants/JSON_TRUE/) |  | U+FDD6 | 64982 | "%EF%B7%96" | &amp;#xFDD6; |  |
| [JSON_FALSE](/constants/JSON_FALSE/) |  | U+FDD7 | 64983 | "%EF%B7%97" | &amp;#xFDD7; |  |
| [JSON_DELETE](/constants/JSON_DELETE/) |  | U+FDD8 | 64984 | "%EF%B7%98" | &amp;#xFDD8; | Used with [llJsonSetValue](/functions/llJsonSetValue/) to remove a key-value pair. |

### Functions

- [llList2Json](/functions/llList2Json/)
- [llJsonValueType](/functions/llJsonValueType/)

---

*Source: [JSON INVALID](https://wiki.secondlife.com/wiki/JSON_INVALID) on the Second Life Wiki. Content from the Second Life Wiki articles JSON INVALID (revision 1194656, 2015-01-23) and Template:LSL Constants/JSON (revision 1215249, 2023-10-29), CC BY-SA 3.0.*

---

From lsl.dev: https://lsl.dev/constants/JSON_INVALID/
