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

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!

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

JbstCompiler

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)

Examples:
	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 http://starterkit.jsonfx.net.