Sample code for 30+ languages & platforms
SQL Server

JSON Array AddObjectCopyAt Example

Demonstrates the AddObjectCopyAt function.

Note: This example requires Chilkat v9.5.0.82 or above.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @jarr int
    EXEC @hr = sp_OACreate 'Chilkat.JsonArray', @jarr OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int
    EXEC sp_OAMethod @jarr, 'Load', @success OUT, '[ 1, 2, 3, 4]'

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'Load', @success OUT, '{"street":"1200 Elm St.","city":"Springfield","zip":60606}'

    -- Copy the contents of json to the array at index 2, making it the 3rd item in the array.
    EXEC sp_OAMethod @jarr, 'AddObjectCopyAt', @success OUT, 2, @json

    EXEC sp_OAMethod @jarr, 'Emit', @sTmp0 OUT
    PRINT @sTmp0
    -- Expected output is:  [1,2,{"street":"1200 Elm St.","city":"Springfield","zip":60606},3,4]

    EXEC @hr = sp_OADestroy @jarr
    EXEC @hr = sp_OADestroy @json


END
GO