【问题标题】:React Native JSON.stringify() corrupts objectReact Native JSON.stringify() 损坏对象
【发布时间】:2021-11-28 02:21:13
【问题描述】:

我有这个代码接受一个字符串(存储在反应钩子中)并将其放入一个 JSON 对象中,该对象被字符串化并存储在异步存储中。 字符串的值为 Client@monroinsights.co

let newModel = {
    email: email,
}
await AsyncStorage.setItem('@onboardingModel', JSON.stringify(newModel))

以后每当我在异步存储中与此项目交互时,对象看起来像这样:

"0": "{",
  "1": "\"",
  "10": "C",
  "11": "l",
  "12": "i",
  "13": "e",
  "14": "n",
  "15": "t",
  "16": "@",
  "17": "m",
  "18": "o",
  "19": "n",
  "2": "e",
  "20": "r",
  "21": "o",
  "22": "i",
  "23": "n",
  "24": "s",
  "25": "i",
  "26": "g",
  "27": "h",
  "28": "t",
  "29": "s",
  "3": "m",
  "30": ".",
  "31": "c",
  "32": "o",
  "33": "\"",
  "34": "}",
  "4": "a",
  "5": "i",
  "6": "l",
  "7": "\"",
  "8": ":",
  "9": "\"",

我在这里做错了什么?

【问题讨论】:

  • 当您记录调用JSON.stringify 的结果时会发生什么?您如何从存储中读取数据?您如何记录从存储中读取的数据?

标签: javascript json react-native react-hooks javascript-objects


【解决方案1】:

如果不查看您为从异步存储中检索值而编写的代码,很难说出问题所在。

您是否可能忘记解决 getItem 返回的承诺,即相当于:

JSON.parse(getItem('@onboardingModel'))

当你应该做一些更像这个函数中显示的事情时:

const getOnboardingModel = async () => (
  JSON.parse(await getItem('@onboardingModel'))
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多