Please note this site is largely out of date and only refers to version 1.x.
Version 2.x is now hosted on Github.
Customize integration with Visual Studio & IIS... and other topics:
For code examples and detailed feature descriptions visit:
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.
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!
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
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"
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
Contains a starter kit Project for exploring JsonFx development
The full source code to http://starterkit.jsonfx.net.