将来自 json 的对象存储在本地存储中

Storing object from json in localstorage

我正在尝试将我拥有的对象作为 Json 字符串存储到本地存储。 稍后我要检索数据,那时我知道 class.

但是,如果我将它存储为一个对象,所有变量都会设置为一个空对象。 当我稍后尝试阅读时它会抛出错误。

            LocalStore.SetItem(pKey, JsonConvert.DeserializeObject(pValue));

{Trip: [], PartialTrip: [], Route: [], Action: [], Driver: [], Vehicle: [], Trailer: [], StartTime: [],…}
Action: []
Driver: []
PartialTrip: []
PercentageAtDepot: []
PercentageInWarehouse: []
Route: []
StartTime: []
Trailer: []
Trip: []
Vehicle: []

如果我将它存储为字符串,则对象的引号会被转义。 稍后在检索对象时也出现错误。

"{\u0022Trip\u0022:\u0022R000750\u0022,\u0022PartialTrip\u0022:10000,\u0022Route\u0022:30000,\u0022Action\u0022:\u0022LA\u0022,\u0022Driver\u0022:\u0022\u0022,\u0022Vehicle\u0022:\u0022TEST-1\u0022,\u0022Trailer\u0022:\u0022TEST-2\u0022,\u0022StartTime\u0022:\u00222021-11-02T08:00:00Z\u0022,\u0022PercentageAtDepot\u0022:100.0,\u0022PercentageInWarehouse\u0022:100.0}"

似乎是 SetItem Generic Type,因为要么是 Object 要么是 string。两者都出错了。 响应来自 SignalR,我不能在那里使用动态类型。

当然,经过几个小时的搜索,我在发布问题后几分钟就找到了答案。 Saving in local store 有一个保存原始字符串的版本。

    LocalStore.SetItemAsString(pKey, pValue); // Save String Raw

GetItem 函数可以立即将其解析为正确的对象。