![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Sort JSON Object by Member Key NameSee more JSON ExamplesDemonstrates how to sort the members of a JSON object by the key name.Note: This example requires Chilkat v11.0.0 or greater.
-- 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 @json int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'xyz', '1234' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'abc.xyz', '1234' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'abc.def', '1234' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'abc.aaa', '1234' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ghi', '1234' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'nmo', '1234' EXEC sp_OASetProperty @json, 'EmitCompact', 0 EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- This is our initial JSON: -- { -- "xyz": "1234", -- "abc": { -- "xyz": "1234", -- "def": "1234", -- "aaa": "1234" -- }, -- "ghi": "1234", -- "nmo": "1234" -- } -- Sort the top-level JSON object by key. DECLARE @ascending int SELECT @ascending = 1 DECLARE @caseSensitive int SELECT @caseSensitive = 1 EXEC sp_OAMethod @json, 'Sort', NULL, @ascending, @caseSensitive -- Look at the sorted JSON.. EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- { -- "abc": { -- "xyz": "1234", -- "def": "1234", -- "aaa": "1234" -- }, -- "ghi": "1234", -- "nmo": "1234", -- "xyz": "1234" -- } -- Now sort the members of the "abc" object.. DECLARE @jsonAbc int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonAbc OUT EXEC sp_OAMethod @json, 'ObjectOf2', @success OUT, 'abc', @jsonAbc EXEC sp_OAMethod @jsonAbc, 'Sort', NULL, @ascending, @caseSensitive -- Now look at the JSON with the members under "abc" also sorted.. EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- { -- "abc": { -- "aaa": "1234", -- "def": "1234", -- "xyz": "1234" -- }, -- "ghi": "1234", -- "nmo": "1234", -- "xyz": "1234" -- } EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @jsonAbc END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.