đĄJSON āĻĄā§āĻāĻž āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāϰāϤ⧠āĻāĻžāύ? āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻŋāύāĻžāĻŽā§āϞā§āϝā§āϰ āĻ āύāϞāĻžāĻāύ āĻĢāϰāĻŽā§āϝāĻžāĻāĻžāϰ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ JSON āĻā§ āϏā§āύā§āĻĻāϰ, āĻŦā§āϧ āĻāĻŦāĻ āĻŽāĻŋāύāĻŋāĻĢāĻžāĻ āĻāϰā§âAPI āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ, āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāĻŦāĻ āĻĻāϞāĻāϤ āϏāĻšāϝā§āĻāĻŋāϤāĻžāϰ āĻāύā§āϝ āĻāĻĻāϰā§āĻļāĨ¤ đ 10MB āĻĒāϰā§āϝāύā§āϤ āĻĢāĻžāĻāϞ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤
đ āĻā§āϞ JSON āĻ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āϤā§āϰā§āĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§
đ JSON āĻā§ āĻ ā§āϝāĻžāĻŦāϏā§āĻā§āϰāĻžāĻā§āĻ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻā§āϰāĻŋ āϤ⧠āĻĒāĻžāϰā§āϏ āĻāϰā§
đ¨ āĻāύā§āĻĄā§āύā§āĻā§āĻļāύ āĻāĻŦāĻ āϞāĻžāĻāύ āĻŦā§āϰā§āĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§
đ¤ āĻŦāĻŋāĻāĻāĻŋāĻĢāĻžāϝāĻŧā§āĻĄ āĻŦāĻž āĻŽāĻŋāύāĻŋāĻĢāĻžāϝāĻŧā§āĻĄ āĻāĻāĻāĻĒā§āĻ āĻā§āĻĒāύā§āύ āĻāϰā§
RFC 8259 āĻāϰ āϏāĻžāĻĨā§ āϏāĻā§āĻāϤāĻŋāĻĒā§āϰā§āĻŖ:
āĻĢāĻŋāĻāĻžāϰ | āϏāĻžāĻĒā§āϰā§āĻ | āύā§āĻāϏ |
---|---|---|
āĻĄā§āĻāĻž āĻāĻžāĻāĻĒ | āϏāĻŦ (āϏā§āĻā§āϰāĻŋāĻ, āύāĻžāĻŽā§āĻŦāĻžāϰ, āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ, āύāĻžāϞ, āĻ ā§āϝāĻžāϰā§, āĻ āĻŦāĻā§āĻā§āĻ) | â āϏāĻŽā§āĻĒā§āϰā§āĻŖ |
āύā§āϏā§āĻāĻŋāĻ āĻĄā§āĻĒāĻĨ | āϏā§āĻŽāĻžāĻšā§āύ | đŗ āĻāĻā§āϰ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰ⧠|
āĻāĻāύāĻŋāĻā§āĻĄ | āĻšā§āϝāĻžāĻ | đ¤ āĻāĻŽā§āĻāĻŋ, āύāύ-āϞā§āϝāĻžāĻāĻŋāύ āĻ āĻā§āώāϰ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠|
JSON5 | āĻāĻāĻļāĻŋāĻ | â āύāύ-āϏā§āĻā§āϰāĻŋāĻā§āĻ āĻŽā§āĻĄā§ āĻāĻŽā§āύā§āĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠|
āĻĢāϰāĻŽā§āϝāĻžāĻāĻŋāĻ āĻāϤāĻŋ āϤā§āϞāύāĻž:
āĻĢāĻžāĻāϞ āϏāĻžāĻāĻ | āĻĢāϰāĻŽā§āϝāĻžāĻāĻŋāĻ āϏāĻŽāϝāĻŧ |
---|---|
1 KB | ⥠<50ms |
1 00KB | ⥠<300ms |
1 MB | âŗ <1.5s |
1 0MB | âŗ <8s |
āϏāĻžāϧāĻžāϰāĻŖ JSON āϏāĻŽāϏā§āϝāĻž āϏāύāĻžāĻā§āϤ āĻāϰā§:
āϤā§āϰā§āĻāĻŋ āĻāĻžāĻāĻĒ | āĻāĻĻāĻžāĻšāϰāĻŖ | āĻĢāĻŋāĻā§āϏ |
---|---|---|
āĻā§āϰā§āĻāϞāĻŋāĻ āĻāĻŽāĻž | {"a":1,} | āĻļā§āώ āĻāĻŽāĻž āϏāϰāĻžāύ |
āĻ āύāĻŦāĻĻā§āϧ āĻāĻĻā§āϧā§āϤāĻŋ | {"a:1} | āĻŦāύā§āϧ āĻāĻĻā§āϧā§āϤāĻŋ āϝā§āĻ āĻāϰā§āύ |
āĻ āĻŦā§āϧ āϏāĻāĻā§āϝāĻž | {"a":1.2.3} | āĻĻāĻļāĻŽāĻŋāĻ āĻĢāϰāĻŽā§āϝāĻžāĻ āĻ āĻŋāĻ āĻāϰā§āύ |
āĻāĻĒāύāĻžāϰ āĻāĻžāϰā§āĻŽāĻŋāύāĻžāϞ⧠JSON āĻĢāϰāĻŽā§āϝāĻžāĻ āĻāϰā§āύ:
đ¤JSON āĻĢāĻžāĻāϞ āĻĢāϰāĻŽā§āϝāĻžāĻ āĻāϰā§āύ
jq '.' input.json > formatted.json
āĻĢāϰāĻŽā§āϝāĻžāĻāĻŋāĻ āĻāϰ āĻāύā§āϝ jq āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž
đJSON āĻŽāĻŋāύāĻŋāĻĢāĻžāĻ āĻāϰā§āύ
jq -c '.' input.json > minified.json
āĻāĻŽā§āĻĒā§āϝāĻžāĻā§āĻ āĻāĻāĻāĻĒā§āĻ
đāĻĒāĻžāĻāϝāĻŧāĻžāϰāĻļā§āϞ āĻĢāϰāĻŽā§āϝāĻžāĻ
ConvertTo-Json (Get-Content raw.json) -Depth 100 | Set-Content formatted.json
āύā§āĻāĻŋāĻ āĻĒāĻžāĻāϝāĻŧāĻžāϰāĻļā§āϞ āĻĒāĻĻā§āϧāϤāĻŋ
â¨ī¸ CMD āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻ
python -m json.tool < input.json
āĻĒāĻžāĻāĻĨāύā§āϰ JSON āĻŽāĻĄāĻŋāĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž
// āĻāĻā§: {"data":{"user":123}}
// āĻĒāϰā§: {
// "data": {
// "user": 123
// }
// }
{"extends":"eslint:recommended","rules":{"semi":["error","always"]}}
āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ IDE āϤ⧠JSON āĻĢāϰāĻŽā§āϝāĻžāĻ āĻāϰāϤ⧠`Ctrl+Alt+L` (āĻāĻāύā§āĻĄā§āĻ) āĻŦāĻž `Cmd+Opt+L` (āĻŽā§āϝāĻžāĻ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ
āĻŦā§āϝāĻžāύā§āĻĄāĻāĻāĻĨ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŽāĻžāϤ⧠API āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĒāĻžāĻ āĻžāύā§āϰ āĻāĻā§ JSON āĻŽāĻŋāύāĻŋāĻĢāĻžāĻ āĻāϰā§āύ
āĻāĻžāϞ JSON āĻĒāĻžāĻ āϝā§āĻā§āϝāϤāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ āĻāĻĄāĻŋāĻāϰ⧠āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻšāĻžāĻāϞāĻžāĻāĻāĻŋāĻ āϏāĻā§āώāĻŽ āĻāϰā§āύ