VB-JSON: A Visual Basic 6 (VB6) JSON Parser Class Library 

VB6 JSON Parser BSD Licensed Introduction to JSON for Visual Basic 6
VB-JSON is a Visual Basic 6 class library for parsing and emitting JSON (Javascript Object Notation) and can handle nested arrays and objects in the data. It does not rely on the JScript engine for parsing.

JSON is a useful and compact format for data interchange between a browser based JavaScript client program and a VB6 based data server, and also for storing structured meta data in a text field. It can also be used as an efficient RPC transport protocol and compresses well using GZip.  The project also includes a fast string builder class for assembling the JSON data string at a high speed. 

This software is BSD licenced and is based on an Excel macro found here. Some parsing bugs in the original functions have been fixed and the string builder class improves performance. Also there are some handy utility functions that return a JSON data set from an ADO Recordset or a character delimited string.

VBJSON Download
Download the VB-JSON JSON Parser class and a simple example project from here:

Download VBJSON.zip


Release History
18th April 2009: Initial Release
23rd April 2009: Added JSON file parser button to sample project and a simple error list to show parsing errors rather than using Err.Raise
26th April 2009: 
* Improved JSON parser error handling
* Added // and /* */ comment support
* Added an early implementation of a simple scripting system called JSONscript

18th July 2009: 
* Changed VBJSON.cls to JSON.bas Module to make it a singleton
* Fixed a bug with data containing the / character
* Changed formatNumber function to use Long integers
* Added code for making JSON-RPC calls

1 August 2010
* Fixed a bug in the JSON parser that hangs on a colon character in a key.

16 March 2012
* Thank you to Hynek C for a patch to fix a possible infinite loop in the array/object parser. Please update the JSON.bas module file in your existing projects.

22 May 2012
* Thanks to Nick P for pointing out that CLng/Val is not the best number conversion function for large numbers. The project has been updated to use the CDec function instead.

A contact email address is given in the header of the class if you find any bugs or have suggestions on how to improve this project.

For more information about the uses of JSON and the data format, please refer to the JSON.ORG web site.

Our internal use of JSON has increased not only in the eDIY web design and ecommerce software, but also some embedded microcontroller projects because it is so compact, yet able to encode complex data in very few bytes!