JSON 只是一种数据格式,JSON 对象中的 key 必须用双引号包裹,如下:
- {
- "name": "yqcoder"
- }
- let yqcoder = {
- name: "yqcoder",
- };
- JSON.stringify(yqcoder); // '{"name":"yqcoder"}'
-
- // 两次 JSON.stringify 加 \\
- let _yqcoder = {
- name: "yqcoder",
- _name: '{"name":"yqcoder"}',
- };
- JSON.stringify(_yqcoder); // '{"name":"yqcoder","_name":"{\\"name\\":\\"yqcoder\\"}"}'
-
- // 三次 JSON.stringify 加 \\\\\\
- let __yqcoder = {
- name: "yqcoder",
- _name: '{"name":"yqcoder"}',
- __name: '{"name":"yqcoder","_name":"{\\"name\\":\\"yqcoder\\"}"}',
- };
- JSON.stringify(__yqcoder); // '{"name":"yqcoder","_name":"{\\"name\\":\\"yqcoder\\"}","__name":"{\\"name\\":\\"yqcoder\\",\\"_name\\":\\"{\\\\\\"name\\\\\\":\\\\\\"yqcoder\\\\\\"}\\"}"}'
- // 通过JSON删除 love,thr
- let yqcoder = {
- name: "yq",
- age: 18,
- love: "dyb",
- thr: "aa",
- };
- JSON.stringify(yqcoder, ["name", "age"]); // '{"name":"yq","age":18}'
- JSON.stringify(yqcoder, (key, value) => {
- if (["love", "thr"].includes(key)) {
- return undefined;
- } else {
- return value;
- }
- }); // '{"name":"yq","age":18}'