如何更新会话存储中项目的单个值

how do I update a single value of an item in session storage

我有一个 SessionStorage 项目集,其值如下:

    key : state-allRequestsandResponses
    value : "{"first":30,"rows":10,"sortField":"isWorkComplete","sortOrder":1}"

我想获取例如 first 的值并将 30 的值更改为 40。

我在使用 sessionStorage.setItem 更改此值时遇到了真正的困难。谁能举例说明如何更改此值。

一旦我们从 sessionStorage 中获取值,我们需要将其转换为 JSON 以便将其用作普通对象。

尝试做一些如下的改变..

const modifiedValue =  JSON.parse(sessionStorage.getItem('state-allRequestsandResponses'));
modifiedValue.first(40);

sessionStorage.setItem('state-allRequestsandResponses',  JSON.stringify(modifiedValue));

希望这对您有所帮助..:)

您可以尝试以下方法来存储、获取数据和更新

let data = {"first":30,"rows":10,"sortField":"isWorkComplete","sortOrder":1}

//storing the data for the first time
sessionStorage.setItem("state-allRequestsandResponses", JSON.stringify(data));

为了更新 sessionStorage 中的数据,获取对象并将其解析为 json 对象,因为 sessionStorage 会将数据存储为字符串。

//Get the object and parse it
data = JSON.parse(sessionStorage.getItem("state-allRequestsandResponses"))
data.first = 40;

sessionStorage.setItem("state-allRequestsandResponses", JSON.stringify(data));

//Verify whether the data updated in sessionStorage
console.log(sessionStorage.getItem("state-allRequestsandResponses"))