Pot.js と PotLite.js で利用可能。
引数 value を JSON に変換します。
結果的に、JSON.stringify() と同じです。
JSON オブジェクトが未定義の環境でも互換となるよう実装されています。
Pot.globalize() が適応されている場合、Pot.serializeToJSON() が serializeToJSON() で実行できます。
JSON に変換された文字列が返ります。
var obj = {'Hello\nWorld!': [1, {a: '{ABC}'}]};
Pot.debug( Pot.serializeToJSON(obj) );
// => "{\"Hello\\nWorld!\":[1,{\"a\":\"{ABC}\"}]}"
debug(serializeToJSON(100)); // "100"
debug(serializeToJSON('100')); // "\"100\""
debug(serializeToJSON('hoge')); // "\"hoge\""
debug(serializeToJSON(null)); // "null"
debug(serializeToJSON(true)); // "true"
debug(serializeToJSON(false)); // "false"
debug(serializeToJSON('Hello\nWorld!\n')); // "\"Hello\\nWorld!\\n\""
debug(serializeToJSON([1, 2, 3])); // "[1,2,3]"
debug(serializeToJSON([1E1, '(///"v"///)'])); // "[10,\"(///\\\"v\\\"///)\"]"
debug(serializeToJSON({'Hello\nWorld!': [1, {a: '{ABC}'}]}));
// => "{\"Hello\\nWorld!\":[1,{\"a\":\"{ABC}\"}]}"
debug(serializeToJSON({key1: function() {}, key2: new Date()}));
// e.g. "{\"key2\":\"2011-08-30T16:32:28Z\"}"