在Javascript中存储JSON响应的大小

在Javascript中存储JSON响应的大小,javascript,ajax,json,memory-management,Javascript,Ajax,Json,Memory Management,我正在开发PhoneGap应用程序,发现当用户登录时,在设备上缓存尽可能多的用户数据是最有效的。(配置文件信息等)由于项目限制,我无法使用本地存储 我正在进行一个API调用,并提取用于驱动应用程序的JSON数据。我的具体问题是:假设JSON结果的字节大小大致等于所消耗的内存多少是安全的?i、 e.如果API调用响应是200k的JSON数据,那么大约200k的内存将用于将其存储在javascript对象中?最好的答案是“测试它” 正如一些评论者所说,在许多常见的情况下,会出现粗略的1:1对应关系,

我正在开发PhoneGap应用程序,发现当用户登录时,在设备上缓存尽可能多的用户数据是最有效的。(配置文件信息等)由于项目限制,我无法使用本地存储

我正在进行一个API调用,并提取用于驱动应用程序的JSON数据。我的具体问题是:假设JSON结果的字节大小大致等于所消耗的内存多少是安全的?i、 e.如果API调用响应是200k的JSON数据,那么大约200k的内存将用于将其存储在javascript对象中?

最好的答案是“测试它”

正如一些评论者所说,在许多常见的情况下,会出现粗略的1:1对应关系,但有太多的警告和陷阱,其中一些是特定于引擎的,因此不可能有任何确定性


换句话说,如果您测试了它,并且看起来假设在您的特定用例下成立,那么“稍微安全”是一个合理的假设。只是不要把农场押在这上面。

“大概”,是的。取决于数据中的内容。如果数组中只有浮点数,那么最终所需的ram就会少一些。好的,太好了,谢谢。如果你想让你的帖子成为答案,我会标记它。我喜欢大致的答案,我也会投票。或者你可以得到2倍的存储空间。如果您的JSON被传输为UTF-8,JavaScript将在内部使用
UCS-2
(或者可能
UTF-16
),从而将RAM存储需求增加一倍。这一点很好。但是,如果传输200k,则该200k已包含双字节字符。它的内容只有非双字节数据的一半。