Use the "secret" ES5 getter syntax to perform inline calculations using this to refer to the literal:
JSON.stringify({
foo: parseFloat("5.5"),
get bar(){return this.foo + 5}
});
// == "{"foo":5.5,"bar":10.5}"
note that the binding is live, so if you update foo, then bar will start equating to the new value + 5.
also not that the word "function" in the "method" is spelled "get", that's no typo, just ES5 awesomesause. it would be nice if you could use some kind of "fat arrow" in there, but i don't know if/when that will ever happen. to make the property value truly static, which might save ram on large sets, you can add a bit more ugliness and minor repetition:
ob= {
foo: parseFloat("5.5"),
get bar(){ delete this.bar; return this.bar=this.foo + 5; }
};
JSON.stringify(ob); // == "{"foo":5.5,"bar":10.5}"
it's what you need to get the value mid-literal, and a little more (live updates), hopefully that's not too much for your project. i find it cleaner than an off-side temp var if you don't NEED it to be static.
note: this trick works on IE9 and newer browsers; use a temp variable for legacy compat.