Title photo
frugal technology, simple living and guerrilla large-appliance repair
Sun, 15 May 2016

Converting XML to JSON in JavaScript and learning what you need to do when you need to do it

I'm working on my election script, which has been Bash on the server to produce HTML with custom display on nine different websites controlled via CSS. Hacky as shit, but it works.

I've toyed with doing the script in Perl or Ruby, but my colleague Daniel Aitkin asked whether we could script the data into JSON, aka JavaScript Object Notation.

That way we could pretty much do this as a Javascript-on-the-client Web page. For California statewide data, we are working with XML, so a simple conversion to JSON in the browser would do the trick.

And here is one of many solutions to the XML-to-JSON problem: https://github.com/enkidootech/xml2json.

If this works, server-side scripting is limited to fetching and unzipping the XML files from the California Secretary of State. JavaScript will do the rest.

Since LA County sends fixed-width ASCII, this plan goes out the window, but I vaguely remember another ancient data format that I might be able to hack into JSON. Or the LA County data will be mangled the old-fashioned way.

I'm in the mood/mode to do things with JavaScript in the browser. I recently hacked together this simple Web page that takes any URL and spits it out with nine different domains and then copies them to my desktop clipboard via buttons, an admittedly narrow use case but one that I have about 30 times a day.

That's the best way for me to learn: Have an annoying problem and make it go away through code.

Along these very same lines, since I'm collaborating with others on this project, I decided that we needed a way to share the code.

And since I wanted to work out of a private repository, Gitlab ($0/month) beat Github ($7/month). And we are all learning git.