Fork me on GitHub
Please note this site is largely out of date and only refers to version 1.x.
Version 2.x is now hosted on Github.

JsonFx Help

Customize integration with Visual Studio & IIS... and other topics:

JsonFx Examples

For code examples and detailed feature descriptions visit:

Looking for more?

BuildTools™ Libraries are various tools for accelerating web application development:

JsonFx is the JSON-savvy Ajax Framework for ASP.NET 2.0, 3.5, 4.0

These libraries are distributed under the terms of an MIT-style license.

JsonFx Ajax Framework

The JSON-savvy Ajax framework for ASP.NET

Supports true Ajax via client-side templating

Supports JSON within all Ajax features

JsonML+Browser-Side Templating (JBST) data-binding JSON in the client

JSON-RPC 2.0 support with auto-generated JavaScript proxies

Build-time optimization of client libraries (compaction/Gzip/Deflate/obfuscation)

Build-time syntax checking of JavaScript & CSS

Easily emit data into page as JavaScript

Supports UserAgent-specific CSS (no more browser hacks)

Dynamic behavior binding features

Client-side globalization support

Ajax history (browser back button) support

Helps get a Grade A in YSlow!

JsonFx v1.x

JSON Serialization Library

The JSON parser/serializer which powers JsonFx

Functions similarly to the XmlSerializer in .NET

Serializes and deserializes any Dictionary<String, T> and IDictionary with String keys directly as JSON objects

Serializes and deserializes any List<T>, ArrayList, LinkedList<T>, Queue<T> and many other IEnumerable types directly as JSON arrays

Serializes and deserializes DateTime, Enum, Nullable<T>, Guid and other common .NET Types directly as JSON primitives

Serializes and deserializes strongly-typed custom classes (similarly to XML Serialization in .NET)

Serializes C# 3.0 Anonymous Types directly as JSON objects

Serializes C# 3.0 LINQ Queries as JSON arrays of objects (by enumerating the results)

Optional ability to control serialization via attributes/interfaces

Optional Type-Hinting improves deserializing to strongly-typed objects

Optional PrettyPrint mode helps with debugging / human-readability

Optional custom DateTime serialization override

Optional native EcmaScript serialization of DateTime, Regex and Identifiers

Deserializes common non-JSON JavaScript literals such as "Infinity", "NaN", and "undefined"

Ignores block and line comments when deserializing

JsonFx v1.x

JsonFx v2.x


JBST client-side template command-line compiler

NOTE: this requires the JsonFx binaries to run. Updating the JsonFx binaries is just as easy as replacing the DLLs with a new version.

JsonML+BST Template Compiler usage:

JbstCompiler /IN:file [ /OUT:file ] [ /INFO:copyright ] [ /TIME:timeFormat ] [ /WARNING ]

	/IN:		Input File Path (not used with /DIR:...)
	/OUT:		Output File Path (not used with /DIR:...)
	/DIR:		Input Directory Root (for bulk compiling an entire app *.jbst -> *.jbst.js)
	/INFO:		Copyright label
	/TIME:		TimeStamp Format
	/WARNING	Syntax issues reported as warnings
	/PRETTY		Pretty-Print the output (default is compact)

	JbstCompiler.exe /IN:myTemplate.jbst /OUT:compiled/myTemplate.js /INFO:"(c)2009 My Template, Inc." /TIME:"'Compiled 'yyyy-MM-dd @ HH:mm"
	JbstCompiler.exe /DIR:myTemplates/ /INFO:"(c)2009 My Template, Inc." /TIME:"'Compiled 'yyyy-MM-dd @ HH:mm"

Visual Studio Templates

Visual Studio 2005/2008 Item & Project Templates for JsonFx

Contains a Visual Studio Project Template for creating new JsonFx Websites

Contains a Visual Studio Project Template for creating new JsonFx Web Application Projects

Contains a Visual Studio Item Template for creating new JBST controls

Contains a Visual Studio Item Template for creating new JSON-RPC Services

Contains a Visual Studio Item Template for creating new *.merge files

StarterKit Project

Starter kit example project for JsonFx

Contains a starter kit Project for exploring JsonFx development

The full source code to