SQL Server
SQL Server
Understanding JSON Array vs JSON Object
See more JSON Examples
This example explains the difference between a JSON Array and a JSON Object. A JSON Array begins with "[" and ends with "]", whereas a JSON Object begins with "{" and ends with "}".Elements contained in a JSON array are accessed by index, whereas elements in a JSON object are typically accessed by name (but can also be accessed by index).
Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @success int
SELECT @success = 0
-- A JSON array should be loaded into a Chilkat JSON array,
-- whereas a JSON object should be loaded into a Chilkat JSON object.
-- A JSON array may contain objects, and a JSON object may contains arrays, but
-- it is the top-level (outermost) element that defines whether the JSON
-- document is an array or an object.
-- An array begins and ends with "[" ... "]"
-- An object begins and ends with "{" ... "}"
-- For example, an array containing 2 objects:
DECLARE @strJsonArray nvarchar(4000)
SELECT @strJsonArray = '[ { "name": "Bill" }, { "name": "Ted" } ]'
-- Load it into a JSON array.
DECLARE @jsonA int
EXEC @hr = sp_OACreate 'Chilkat.JsonArray', @jsonA OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @jsonA, 'Load', @success OUT, @strJsonArray
EXEC sp_OAGetProperty @jsonA, 'Size', @iTmp0 OUT
PRINT 'number of array elements: ' + @iTmp0
-- This is an object containing an array:
DECLARE @strJsonObj nvarchar(4000)
SELECT @strJsonObj = '{ "characters": [ "Bill", "Ted" ] }'
-- Load it into a JSON object.
DECLARE @jsonO int
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonO OUT
EXEC sp_OAMethod @jsonO, 'Load', @success OUT, @strJsonObj
EXEC sp_OAGetProperty @jsonO, 'Size', @iTmp0 OUT
PRINT 'number of object members: ' + @iTmp0
EXEC @hr = sp_OADestroy @jsonA
EXEC @hr = sp_OADestroy @jsonO
END
GO