JsonArrayInsert(json, json, int)

From NWN Lexicon
Jump to navigationJump to search
Note: This article documents Neverwinter Nights: Enhanced Edition new content or changes/updates/fixes to 1.69 functions. These are all listed under the category and patches pages.

Modifies jArray in-place (with no memory copies needed) by inserting jValue position nIndex.

void JsonArrayInsertInplace(
    json jArray,
    json jValue,
    int nIndex = -1
);

Parameters

jArray
The json Array to modify.
jValue
The json value to insert.
nIndex
The index to insert for a value.

Description

Inserts jValue at position nIndex.

All succeeding objects in the array will move by one.

Remarks

By default (-1), inserts objects at the end of the array ("push").

nIndex = 0 inserts at the beginning of the array.

Version

This function was added in 88.8193.36-11 of NWN:EE.

Example

void main() 
{
    json jArray = JsonParse("{[1, 2, 4, 5, 6]}");
	
    // Insert 3 at index 2 (between 2 and 4)
    JsonArrayInsertInplace(jArray, JsonInt(3), 2);
    WriteTimestampedLogEntry(JsonDump(jArray)); // {[1, 2, 3, 4, 5, 6]}

    // Insert 7 at the end of the array
    JsonArrayInsertInplace(jArray, JsonInt(7), -1);
    WriteTimestampedLogEntry(JsonDump(jArray)); // {[1, 2, 3, 4, 5, 6, 7]}

    // Insert 0 at the start of the array
    JsonArrayInsertInplace(jArray, JsonInt(0), 0);
    WriteTimestampedLogEntry(JsonDump(jArray)); // {[0, 1, 2, 3, 4, 5, 6, 7]}
}

See Also

functions:

JsonArrayInsert JSON Functions