0

如何使用JSON字符串(相当大)作为数据库HTML5

我知道我们可以localStorage.setItem('key',value)用来存储一个特定的值。我有一个JSON包含 200 到 300 条记录的字符串

[{"key":"value"....},
{"key":"value"....},
{"key":"value"....},
......
.....
...
//around 300
]

现在我把这整个JSON放在一个divwith displaysaid to并像这样none访问它JSON

$.parseJSON($('#mydivid').html());

还有其他替代建议吗?谢谢

4

1 回答 1

1

我不确定我是否理解这个问题。

假设你有一个由你的服务器生成的 json 文件(如果你喜欢的话,很多 MB),你可以用一个简单的 ajax 查询来获取它,解析它,然后将它用作

var myval = database['somekey'];

您不应该将它包装在您的 html 中,如果只有数据库更改,它会阻止您的页面的正常缓存。

您的 json 将存储或生成在第二个单独的 .json 文件中(您可以在 PHP 中很好地生成该文件)。

获取它的函数如下所示:

var database;

function fetchDatabse(callback) {
    var httpRequest = new XMLHttpRequest();
    httpRequest.onreadystatechange = function() {
        if (httpRequest.readyState === 4) {
            if (httpRequest.status === 200) {
                database = eval('('+httpRequest.responseText+')');
                if (callback) callback();
            }
        }
    };
    httpRequest.open('GET', 'database.json?time='+(new Date().getTime()));
    httpRequest.send(); 
}

请注意,通常最好使用 ajax 查询仅获取数据库的一部分。


如果您真的想将 json 嵌入页面中,而不是将其嵌入隐藏的 div 中,请将其嵌入脚本中:

<script>
var database = {
   ...
};
</script>
于 2012-09-21T10:58:13.580 回答