Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将JavaScript值序列化为字符串,并返回完全相同的值?_Javascript_Serialization_Local Storage - Fatal编程技术网

是否可以将JavaScript值序列化为字符串,并返回完全相同的值?

是否可以将JavaScript值序列化为字符串,并返回完全相同的值?,javascript,serialization,local-storage,Javascript,Serialization,Local Storage,是否有任何内置方式,或通过第三方库,可以将任何JavaScript值序列化为字符串,并还原回其原始值?我说的是Ruby的Marshal类的等价物 像JSON.stringify这样的东西是不够的,因为它不会保留原型链、函数定义等 我在谷歌上搜索得相当彻底,没有发现任何类似的内容,无论是正面的还是负面的 我希望这样做是为了在localStorage中保存应用程序状态,而不必为我的所有类定义复杂的序列化/非序列化逻辑。没有任何内置功能提供此功能。您可以通过使用带有JSON.stringify的“re

是否有任何内置方式,或通过第三方库,可以将任何JavaScript值序列化为字符串,并还原回其原始值?我说的是Ruby的
Marshal
类的等价物

JSON.stringify
这样的东西是不够的,因为它不会保留原型链、函数定义等

我在谷歌上搜索得相当彻底,没有发现任何类似的内容,无论是正面的还是负面的


我希望这样做是为了在
localStorage
中保存应用程序状态,而不必为我的所有类定义复杂的序列化/非序列化逻辑。

没有任何内置功能提供此功能。您可以通过使用带有
JSON.stringify
的“replacer”函数(和/或对象上的自定义
toJSON
方法)和通过
JSON.parse
的“reviver”函数来构建它。答案很长:可能有大量的
eval
——比如黑客……没有内置的,没有。当然,图书馆推荐是离题的。可能不是。您可能需要创建某种“回春”函数,从特定状态创建对象。它们似乎有一些命名和样式限制,所以我不确定它们是否可以使用我正在使用的TypeScript中定义的类。也许你最好重构你的应用程序,以保持应用程序状态的简单结构。