 
         if (isTextFile)
           file.stringContents = 'define(function(){ return ' + JSON.stringify(file.stringContents) + '; });'
+
+        if (isJsonFile)
+          file.stringContents = 'define(function(){ return JSON.parse(' + JSON.stringify(file.stringContents) + '); });';
 
         module = new Module(moduleName, file)
         callback(null, file)

    # get rid of text! prefix
    if (isText)
      moduleName = moduleName.replace('text!', '')

    # deal with module path prefixes
    if config.paths and !config.paths[moduleName]

    module = null
    isTextFile = !!textFiles[moduleName]

    isJsonFile = !!jsonFiles[moduleName]

    # console.log("Resolving", moduleName, fileName)

    async.waterfall([

      (callback) ->
        fileLoader(fileName, callback, isTextFile || isJsonFile)

      (file, callback) ->

