我过去2天一直在浏览,但似乎在任何地方都找不到答案。

我正在使用PHP将所有SQL数据解析为JSON格式,这是JSON的示例:

[
    {
        "id": "1",
        "name": "Jim",
        "age": "39",
        "address": "12 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "1",
        "canWorkNights": "1",
        "isStudent": "1"
    },
    {
        "id": "2",
        "name": "Fred",
        "age": "29",
        "address": "13 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "1",
        "canWorkNights": "1",
        "isStudent": "0"
    },
    {
        "id": "3",
        "name": "Bill",
        "age": "19",
        "address": "14 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "1",
        "canWorkNights": "0",
        "isStudent": "0"
    },
    {
        "id": "4",
        "name": "Tom",
        "age": "39",
        "address": "15 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "0",
        "canWorkNights": "0",
        "isStudent": "0"
    },
    {
        "id": "5",
        "name": "Cathy",
        "age": "29",
        "address": "16 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "0",
        "canWorkNights": "0",
        "isStudent": "1"
    },
    {
        "id": "6",
        "name": "Petra",
        "age": "19",
        "address": "17 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "0",
        "canWorkNights": "1",
        "isStudent": "0"
    },
    {
        "id": "7",
        "name": "Heide",
        "age": "39",
        "address": "18 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "1",
        "canWorkNights": "0",
        "isStudent": "0"
    },
    {
        "id": "8",
        "name": "William",
        "age": "29",
        "address": "19 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "1",
        "canWorkNights": "0",
        "isStudent": "1"
    },
    {
        "id": "9",
        "name": "Ted",
        "age": "19",
        "address": "20 High Street, London",
        "hasCar": "0",
        "speaksForeignLanguage": "0",
        "canWorkNights": "0",
        "isStudent": "1"
    },
    {
        "id": "10",
        "name": "Mike",
        "age": "19",
        "address": "21 High Street, London",
        "hasCar": "1",
        "speaksForeignLanguage": "0",
        "canWorkNights": "0",
        "isStudent": "1"
    },
    {
        "id": "11",
        "name": "Jo",
        "age": "19",
        "address": "22 High Street, London",
        "hasCar": "0",
        "speaksForeignLanguage": "1",
        "canWorkNights": "0",
        "isStudent": "1"
    }
]


这只是一个示例,并不是我正在使用的实际数据,我的JSON数据每行包含8个图像图像链接,并包含更多的字符串数据。

我需要在前端列出多达120条记录,此列表将具有过滤的搜索选项。

当客户端访问搜索页面时,我猜测他们将需要加载所有JSON数据,这可能会导致缓慢的用户体验。

无论如何,是否可以根据请求加载JSON数据,因此客户端不需要一次加载所有这些数据?因此,例如,也许只请求每页10条记录的数据,这样就不会加载整个JSON文件吗?

任何建议都很好。

最佳答案

您可以使用local storage。应该是这样的:

// your json data
var json = {};

// you have store it as string
localStorage.setItem("data", JSON.stringify(json));


然后在页面中需要它,就像这样:

var data = localStorage.getItem("data");

// if the "data" key isn't set on the storage, it returns null
if (data != null)
{
    // now deserialize the string to json
    data = JSON.parse(data);
}


您可以在here中看到所有主要浏览器版本中的本地存储。

关于javascript - 有效地将JSON数据解析到前端列表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25325457/

10-10 00:04
查看更多