bennadel / JsonSerializer.cfc

A JavaScript Object Notation (JSON) serialization utility for ColdFusion.
Other
47 stars 21 forks source link

JsonSerializer.cfc - Data Serialization Utility for ColdFusion

by Ben Nadel

ColdFusion is a case insensitive language. However, it often has to communicate with languages, like JavaScript, that are not case sensitive. During the data serialization workflow, this mismatch of casing can cause a lot of headaches, especially when ColdFusion is your API-back-end to a rich-client JavaScript front-end application.

JsonSerializer.cfc is a ColdFusion component that helps ease this transition by performing the serialization to JavaScript Object Notation (JSON) using a set of developer-defined rules for case-management and data-conversion-management. Essentially, you can tell the serializer what case to use, no matter what case the data currently has.

Methods

All-or-Nothing

The keys are defined using an all-or-nothing approach. By that, I mean that the serializer doesn't care where it encounters a key - if it matches, it will be given the explicitly defined casing. So, if you want to use "id" in one place and "ID" in another place within the same data-structure, you're out of luck. Both keys will match "id" and will be given the same case.

API Philosophy

This is primarily intended to be used to return data from a server-side API. As part of that use-case, some of my philosophy is baked into it. Namely, an API usually returns a top-level struct / hash-map that defines the API result. This is why the serialization process is driven by the name of keys.