0Pricing
JavaScript Academy · 课时

JSON.parse / JSON.stringify 基础

将对象转换为 JSON 字符串并还原;简要使用替换器和复原器;安全处理错误输入

JSON.parse / JSON.stringify 基础 是 CoddyKit 上的免费 JavaScript Academy 课时。 这是第 1 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 JavaScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 JavaScript Academy 课程共包含 3 节课。

为什么使用 JSON

目标:安全地序列化和解析。

  • JSON.stringify → 字符串
  • JSON.parse ← 字符串
  • 替换器/恢复器(初步体验)
  • 基本安全技巧
JSON.parse / JSON.stringify 基础 — 插图 1

stringify()

使用JSON.stringify(值)获取 JSON 字符串。为了提高可读性,可以传入空格数(例如 2)。

// Turn a value into a JSON string
const user = { name: "Ayla", score: 12, active: true };
const json = JSON.stringify(user);
console.log("json:", json);

// Optional: pretty-print with spaces (2)
const pretty = JSON.stringify(user, null, 2);
console.log("pretty:", pretty);
JSON.parse / JSON.stringify 基础 — 插图 2

parse()

JSON.parse(文本)会返回对应的值。输入必须是有效的 JSON 字符串。

// Parse a JSON string back to a value
const raw = "{\"name\":\"Ayla\",\"score\":12,\"active\":true}";
const value = JSON.parse(raw);
console.log("name:", value.name, "score:", value.score);
JSON.parse / JSON.stringify 基础 — 插图 3

替换器(stringify)

替换器(键, 值)可以在序列化时排除或修改字段(例如隐藏密码)。

// Replacer: filter or transform keys during stringify
const account = { id: 7, password: "secret", role: "user" };

// Hide sensitive fields
function replacer(key, value) {
  if (key === "password") return undefined; // drop it
  return value;
}

const safeJson = JSON.stringify(account, replacer, 2);
console.log("safeJson:", safeJson);
JSON.parse / JSON.stringify 基础 — 插图 4

恢复器(parse)

恢复器(键, 值)可以在解析时转换值(例如将字符串转换为日期)。

// Reviver: convert specific strings back into richer types
const orderJson = "{\"when\":\"2024-06-01T10:00:00Z\",\"total\":25}";

function reviver(key, value) {
  if (key === "when" && typeof value === "string") {
    return new Date(value); // restore Date
  }
  return value;
}

const order = JSON.parse(orderJson, reviver);
console.log("is Date?", order.when instanceof Date);
console.log("total:", order.total);
JSON.parse / JSON.stringify 基础 — 插图 5

安全性与限制

技巧:

  • 对于不受信任的输入,请将JSON.parse放在异常捕获中。
  • 在记录或分享之前,使用替换器删除敏感字段。
  • JSON 不会保留函数和原型信息;它只序列化数据。
JSON.parse / JSON.stringify 基础 — 插图 6

stringify 与 parse 测验

快速检查:序列化一个值。

JSON.parse / JSON.stringify 基础 — 插图 7

回顾

回顾:使用JSON.stringify/JSON.parse转换值;使用替换器筛选字段,使用恢复器恢复日期等类型;添加异常捕获以确保安全。

JSON.parse / JSON.stringify 基础 — 插图 8

常见问题解答

「JSON.parse / JSON.stringify 基础」课时是免费的吗?

是的 — 「JSON.parse / JSON.stringify 基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 JavaScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 JavaScript Academy 课程共包含 3 节课。

「JSON.parse / JSON.stringify 基础」这节课中我会学到什么?

将对象转换为 JSON 字符串并还原;简要使用替换器和复原器;安全处理错误输入 你通过在浏览器中直接运行的动手代码来练习 JavaScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 JavaScript Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 JavaScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 3 节。

「JSON.parse / JSON.stringify 基础」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 JavaScript Academy 课中编写并运行代码吗?

能。每节 JavaScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. JSON.parse / JSON.stringify 基础
  2. 结构化克隆与 URLSearchParams
  3. 安全解析 JSON 的策略
← 返回 JavaScript Academy