Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) HTTP POST JSON and Parse JSON ResponseDemonstrates how to send a JSON POST and then parse the JSON response.
-- 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 -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 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, 'LoadFile', @success OUT, 'qa_data/json/jsonBodyForHttpPost.json' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @json, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @json RETURN END DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT DECLARE @resp int EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT EXEC sp_OAMethod @http, 'PostJson2', @resp OUT, 'https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums', 'application/json', @sTmp0 EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @http RETURN END DECLARE @jsonResp int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonResp OUT EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT EXEC sp_OAMethod @jsonResp, 'Load', @success OUT, @sTmp0 EXEC sp_OASetProperty @jsonResp, 'EmitCompact', 0 EXEC sp_OAMethod @jsonResp, 'Emit', @sTmp0 OUT PRINT @sTmp0 -- The JSON response to be parsed looks like this: -- { -- "LifeAmount": 513.85, -- "LifeResidualAmount": 123.38, -- "CriticalIllnessAmount": 0, -- "CriticalIllnessResidualAmount": 0, -- "DisabilityAmount": 881.70, -- "PolicyFee": 0.00, -- "PolicyFeeSecondary": 0, -- "PolicyFeeHidden": 50.00, -- "PolicyFeeHiddenSecondary": 0 -- } -- We can get the floating point numbers as strings. Then convert to double -- using the appropriate string-to-double conversion for your programming language. -- For example, in C++ use atof. In C# use Convert.ToDouble. DECLARE @lifeAmount nvarchar(4000) EXEC sp_OAMethod @jsonResp, 'StringOf', @lifeAmount OUT, 'LifeAmount' DECLARE @lifeResidualAmount nvarchar(4000) EXEC sp_OAMethod @jsonResp, 'StringOf', @lifeResidualAmount OUT, 'LifeResidualAmount' PRINT 'LifeAmount = ' + @lifeAmount PRINT 'LifeResidualAmount = ' + @lifeResidualAmount EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @jsonResp END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.