Amendment: Some people have had trouble downloading the aspJSON.asp file from the site where I had found it. You can download the file from me.
Amendment:: Some people were asking for a solution to Mandrill and SendGrid. Both solutions are similar and therefore I selected one to publish. You can contact me if you would like more. See the following: Part II – The Mandrill Experience
Sometimes you get trapped in using languages you don’t prefer. I often find my self playing in the bowels of Classic ASP. Now Classic ASP is not bad, but it is a little outdated and has not really been built upon for a few years. I have recently built some new tools in Classic ASP to compliment an existing tool set; however, I tricked out ASP with JSON.
To do this I had found a wonderful import file written by Gerrit van Kuipers. You can download a copy of the file from: www.aspjson.com. Yes it is version 1.0, but I have not found an issue with it yet.
At the very bottom of this article is the the site listed again along with a tool to validate JSON strings.
You will need to import the aspJSON.asp file in your ASP file.
<!--#include virtual="/aspJSON.asp" -->
To read the JSON request you will need to read the binary of the request and convert it to a string.
If Request.TotalBytes > 0 Then
Dim lngBytesCount
lngBytesCount = Request.TotalBytes
jsonstring = BytesToStr(Request.BinaryRead(lngBytesCount))
End If
Function BytesToStr(bytes)
Dim Stream
Set Stream = Server.CreateObject("Adodb.Stream")
Stream.Type = 1 'adTypeBinary
Stream.Open
Stream.Write bytes
Stream.Position = 0
Stream.Type = 2 'adTypeText
Stream.Charset = "iso-8859-1"
BytesToStr = Stream.ReadText
Stream.Close
Set Stream = Nothing
End Function
Next you will need to create the JSON object to parse it.
Set oJSON = New aspJSON
oJSON.loadJSON(jsonstring)
Now you can access the data using the JSON object you created in the above step.
FirstName = oJSON.data.item("FirstName")
To Write a JSON request you will need to do the following.
You will need to import the aspJSON.asp file in your ASP file.
<!--#include virtual="/aspJSON.asp" -->
Next you will need to create the JSON object and populate it
Set oJSON = New aspJSON
set oJSON.data("employee")
set newitem = oJSON.addToCollection(oJSON.data("employee"))
newitem.add "FirstName", "Andrew"
newitem.add "LastName", "Pallant"
Now you can submit your request
Response.Clear
Response.ContentType = "application/json"
Response.Write oJSON.JSONoutput()
You can vist: http://www.aspjson.com/ for complete example and to download the aspJSON.asp file.
A tool that I use to validate the string file is: http://jsonformatter.curiousconcept.com/
Part II of the Article Has Just Been Added: http://andrewpallant.ca/wordpress/tricking-classic-asp-json-mandrill-experience/