Ian*_*vis 5 javascript jquery json local-storage
对于任何有兴趣的人,我最终在这里构建了一个"localstorage with expirations"脚本,http: //plugins.jquery.com/project/localcache
我在做什么:构建存储扩展,以便用户可以这样做:
localStorage.setThing(key, value)
Run Code Online (Sandbox Code Playgroud)
用户可以执行以下操作:
localStorage.setThing("key1", 1)
localStorage.setThing("key2", "this is a string")
localStorage.setThing("key3", { prop1: "this is a json obj" })
Run Code Online (Sandbox Code Playgroud)
在我的setThing方法中,我正在检查typeof for value,如果typeof value == "object",我将其存储为localStorage.setItem(key, JSON.stringify(value))
在getThing方法中,我知道进入localStorage的值总是一个字符串.那么,我该怎么做呢?
var val = localStorage.getItem("key3")
if (val is a previously JSON.stringify'd object) // <-- ??
return JSON.parse(val)
Run Code Online (Sandbox Code Playgroud)
我是否需要对val进行正则表达式检查,如果有的话,是否有人有方便的模式告诉我字符串是否真的是JSON.stringify对象?
谢谢!
另一种选择是存储一个 object {isJsonObj:true, jsonObj: jsonObj},并检查类型是否为 Object,并且 isJsonObj 是否为 true。如果其中任何一个为 false,则它不是 json obj(这意味着您不必解析)。我意识到这意味着你不会总是有一个字符串在那里,但它使测试变得容易,并且不会带来大量的开销。
| 归档时间: |
|
| 查看次数: |
2080 次 |
| 最近记录: |