Sample code for 30+ languages & platforms
SQL Server

JSON Parsing with Sample Data for a Merchant/Payment Transaction

See more JSON Examples

Demonstrates how to load the following JSON into a JSON object and access the values for this document:
{
"id":"8a829449561d9dcb01571dbee3b275b1",
"paymentType":"DB",
"paymentBrand":"VISA",
"amount":"156.00",
"currency":"EUR",
"merchantTransactionId":"E8A39B31-6FA3-4014-A195-3074DF5BF7A1",
"result":{
	"code":"000.100.110",
	"description":"Request successfully processed in 'Merchant in Integrator Test Mode'"
},
"resultDetails":{
	"ConnectorTxID3":"12311312",
	"ConnectorTxID1":"717473"
},
"card":{
	"bin":"420000",
	"last4Digits":"0000",
	"holder":"Andreas",
	"expiryMonth":"12",
	"expiryYear":"2018"
},
"risk":{
	"score":"100"
},
"buildNumber":"4b471ea5366e5e9c9a21392a39769f8d7b40b4e8@2016-09-08 13:31:54 +0000",
"timestamp":"2016-09-12 09:33:52+0000",
}

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 @success int
    SELECT @success = 0

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    -- Load the JSON into the object.
    -- Call json.Load to load from a string rather than a file...
    EXEC sp_OAMethod @json, 'LoadFile', @success OUT, 'qa_data/json/merchantPayment.json'
    -- We are assuming success..

    -- Get the easy stuff:

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'id'
    PRINT 'id: ' + @sTmp0

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'paymentType'
    PRINT 'paymentType: ' + @sTmp0

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'currency'
    PRINT 'currency: ' + @sTmp0

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'buildNumber'
    PRINT 'buildNumber: ' + @sTmp0

    -- Get information that's nested within a sub-object:

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'result.code'
    PRINT 'result: code: ' + @sTmp0

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'result.description'
    PRINT 'result: description: ' + @sTmp0


    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'card.bin'
    PRINT 'card: bin: ' + @sTmp0

    EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'card.last4Digits'
    PRINT 'card: last4Digits: ' + @sTmp0

    EXEC @hr = sp_OADestroy @json


END
GO