首页 > 解决方案 > 为什么 redux devtools 在其 JSON 导出中转义引号?

问题描述

假设我在 redux 中的应用程序状态是这样的:

{ foo: "bar" }

当我单击“导出”以获取我的状态转储时,导出的文件表示如下状态:

{ "preloadedState": "{\"foo\": \"bar\"}" }

转义的引号 ( \") 有点痛苦;sed -i 's/\\"/"/g' state.json我可以使用(或在 macOS 上)删除它们sed -i '' 's/\\"/"/g' state.json,但是有什么理由这是默认行为,我可以将其关闭吗?

标签: reduxredux-devtools-extension

解决方案


该格式仅适用于 redux devtools。这里的值preloadedState是编码为字符串的 json 数据。

要提取数据,您可以解析 json 字符串。

const data = { "preloadedState": "{\"foo\": \"bar\"}" }
const state = JSON.parse(data.preloadedState)

推荐阅读