0

JSON文字列(かなり大きい)をデータベースとして使用する方法HTML5

localStorage.setItem('key',value)特定の値を格納するために使用できることを知ってJSONいます.200から300のレコードを含む文字列を持っています

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

今、私はこれをこのように言ってそれにアクセスすることで全体JSONを入れていますdivdisplaynoneJSON

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

他の代替案はありますか?ありがとうございました

4

1 に答える 1

1

問題を理解できるかわかりません。

サーバーによって生成されたjsonファイル(必要に応じて多くのMB)があるとすると、単純なajaxクエリでそれをフェッチし、解析して、次のように使用できます。

var myval = database['somekey'];

htmlでラップしないでください。データベースのみが変更された場合、ページの通常のキャッシュが妨げられます。

jsonは、2番目の個別の.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 に答える