Click here to Skip to main content
13,299,495 members (70,215 online)
Click here to Skip to main content
Add your own
alternative version


7 bookmarked
Posted 19 Oct 2004

Using JSON for import/export with the JavaScript Regular Expression Tester

, 19 Oct 2004
Rate this:
Please Sign up or sign in to vote.
How to load data to and save data in a JavaScript object using JSON.

Sample Image - UsingJSON.gif


Back in JavaScript Regular Expression Tester, I said that I could save all of the editable attributes in the interface externally using JSON. Now I will explain how.

Additional requirements

You will need opensave.dll from the download code found in this old article. The file opensave.dll provides the open/save dialogue box for opening and saving files from within this application, and the instructions for installing/registering the DLL file are within the text of that article. You will also find that I reference the following files from that archive: file_open.GIF, file_open_pressed.GIF, file_save.GIF, and file_save_pressed.GIF.

Points of Interest

I have implemented this in an HTA, or HTML Application. This is a browser window that looks like a normal Windows application and has full access to locally scriptable components (in other words, without browser security). In addition to the files from the original article, two new files are required to make the regular expressions that are being worked on to be saved. The first file, regex2.hta, calls in the second file, menu3.htm, as an additional frame. You can think of this first file as replacing the original regex2.htm, or that it replaces the parent frame. The second file, menu3.htm, contains the interface and functions for loading and for saving the data to and from the disk. The file JSON.js contains the functions for exporting the RegExTest object as text. It converts the object into a JavaScript Notation Object, or a string literal of the object. That means that one call of the eval() function gives us our object back when reading it from the disk. One function call to stringify() (from JSON.js) is all we need to export our object as text to save it to disk.

The actual code for loading and for saving looks like this:

var strFilename = "RegEx.ret";

function open_file() {
    strFilename = myFileObject.getFilename('open',strFilename, 
                           '*.ret','RegEx Test Files (*.ret)')
    if (strFilename != '') {
        var aa = myFileObject.loadFile(strFilename);
        eval('top.RegExTest = ' + aa + ';');
    } else {
        strFilename = "RegEx.ret"
function save_file () {
    if (strFilename == '') {strFilename = "RegEx.ret"};
    var strNewFilename = myFileObject.getFilename("save", 
             strFilename,"*.ret","RegEx Test Files (*.ret)")
    if (strNewFilename != "") {
        if (!myFileObject.saveFile(strNewFilename, stringify(top.RegExTest))) {
            alert("failed to save file");
        } else {
            strFilename = strNewFilename;

File Contents

regex2.htaParent frame, RegExTest object
support/menu3.htmInterface and functions for saving/loading the RegExTest object to/from disk
othersSee my other article for details


First posted 2004-10-20.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

I am a former Witango (aka Tango from Pervasive/Everyware) programmer.
Now programming is my avocation.

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.171207.1 | Last Updated 20 Oct 2004
Article Copyright 2004 by Anth_Humphreys
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid