Я бы также рекомендовал js2-mode.
JSON обозначает нотацию объектов JavaScript. Это не другой язык и даже не контейнер данных, как yaml или xml. JSON можно использовать в качестве контейнера данных, если в объекте JSON нет функции (или в данном случае мы должны сказать метод), но это не является основной целью JSON: -)
var myJSObject = {
attr: {foo: "bar", baz: ["quux", "truc", "pouet"]},
fooAlert: function (num) {
alert(this.attr.foo+' '+num);
}
};
myJSObject.fooAlert(42);