Doi JSON thanh chuoi de dan vao code, URL hoac truong van ban, va khi can co the phuc hoi lai thanh JSON de doc va chinh sua.

Đề xuất Liên quan

JSON Stringify va viec nhung JSON vao chuoi la gi?

JSON Stringify la qua trinh chuyen object hoac array JSON thanh bieu dien chuoi. Trong JavaScript, cach pho bien nhat la dung `JSON.stringify()`.

Trong cong viec thuc te, ket qua nay thuong con phai duoc nhung vao source code, truong TEXT trong co so du lieu, query parameter cua URL hoac mot truong JSON khac duoi dang string. Khi do, ban can escape them dau ngoac kep, xuong dong va dau backslash.

Cong cu nay thuc hien stringify tieu chuan, sau do tu dong them cap ngoac kep ben ngoai va escape cac ky tu dac biet. Parse mode lam nguoc lai de tra ve JSON de doc. Toan bo qua trinh duoc xu ly local trong trinh duyet.

Trường hợp sử dụng

  • Bien JSON thanh string literal de dung trong JavaScript / Java / Python / Go
  • Nhung JSON response vao mot truong string trong JSON khac
  • Luu JSON string vao cot TEXT cua DB hoac gia tri Redis
  • Truyen JSON qua query parameter hoac header URL
  • Khoi phuc JSON da escape trong log va file config ve dang de doc

Cách Sử dụng

  1. Dan JSON hoac string vao khung ben trai, hoac dung sample / upload file
  2. Chon Stringify hoac Parse va dieu chinh dinh dang dau ra neu can
  3. Xem ket qua o khung ben phai, roi copy vao code, tai lieu hoac config
  4. Neu can, tai ve `stringified.txt` hoac `parsed.json`

Tính năng

  • Hai che do: ho tro ca Stringify va Parse de chuyen doi hai chieu
  • Escape tu dong: xu ly an toan dau ngoac kep, backslash, xuong dong va tab
  • Nhieu dinh dang dau ra: chuoi co ngoac kep, JSON format dep hoac chuoi compact mot dong
  • Phu hop de nhung vao code: ket qua de dan vao JavaScript, Java, Python va Go
  • Tot cho URL va co so du lieu: de luu JSON duoi dang text hoac truyen qua service khac
  • Xu ly local hoan toan: serialize va parse deu xay ra trong trinh duyet

Ví dụ mã

JavaScript: doi JSON thanh chuoi de nhung

javascript
const data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
const json = JSON.stringify(data, null, 2);
const embedded = '"' + json
  .replace(/\\/g, '\\\\')
  .replace(/"/g, '\\"')
  .replace(/\n/g, '\\n')
  .replace(/\r/g, '\\r')
  .replace(/\t/g, '\\t') + '"';

Python: escape lai bang json.dumps

python
import json

data = {"name": "Alice", "age": 30}
pretty = json.dumps(data, indent=2, ensure_ascii=False)
embedded = json.dumps(pretty)
restored = json.loads(json.loads(embedded))

jq: bien file JSON thanh string

bash
jq -Rs . data.json

echo '"{\"name\":\"Alice\"}"' | jq -r .

Câu hỏi Thường gặp

JSON Stringify co giong JSON.stringify() khong?

Phan serialize co cung logic co ban, nhung cong cu nay con tu dong them ngoac kep ben ngoai va escape noi bo de nhung an toan.

Khac gi voi JSON Escape?

JSON Stringify lam viec voi toan bo object JSON; JSON Escape chi xu ly ky tu dac biet trong mot chuoi thuong.

Stringify xong co kho doc hon khong?

Khong. O che do Pretty, xuong dong va thut le van duoc giu lai de de doc.

Parse mode co phuc hoi duoc `\n` va `\"` khong?

Co. Neu dau vao duoc escape hop le, cong cu se bo ngoac kep ben ngoai va khoi phuc cac ky tu dac biet.

Co the dat ket qua vao URL ngay duoc khong?

An toan o muc JSON, nhung de dua vao URL ban van nen dung them `encodeURIComponent`.

Dung cho nested JSON duoc khong?

Duoc. Ban co the bien JSON ben trong thanh string roi dat no lam value trong JSON ben ngoai.

Co the tai ket qua ve file khong?

Co. Stringify mode tai ve `stringified.txt`, Parse mode tai ve `parsed.json`.

Du lieu co bi gui len server khong?

Khong. Moi thu deu chay local, phu hop ca voi JSON nhay cam.

Xử lý sự cố

Stringify bao loi Invalid JSON

Nguyen nhan thuong gap la dau phay cuoi, dung nhay don, key khong co ngoac kep hoac comment.

Sau Parse ket qua khong thanh JSON

Co the thieu ngoac kep ngoai cung hoac chuoi backslash ben trong bi loi. Hay kiem tra lai dau vao.

Dan vao code thi bi SyntaxError

Tu sua dau ngoac kep va backslash de lam hong ket qua. Tot nhat hay dung nguyen output cua cong cu.

JSON lon lam cham trinh duyet

Khi kich thuoc len den vai MB, bo nho se bi anh huong. Neu file lon, hay dung Node.js hoac Python.

Tieng Viet hoac emoji khong thanh `\uXXXX`

Dieu nay la binh thuong. JSON co the giu nguyen Unicode. Neu can `\uXXXX`, ban phai xu ly them sau do.

Thuật ngữ

JSON.stringify
Ham tich hop cua JavaScript dung de serialize gia tri JS thanh chuoi JSON.
JSON.parse
Ham tich hop cua JavaScript dung de doi chuoi JSON ve object hoac array.
Serialize
Qua trinh chuyen cau truc du lieu trong bo nho thanh dinh dang van ban co the luu tru hoac truyen di.
Deserialize
Qua trinh nguoc lai: phuc hoi cau truc du lieu tu chuoi.
Escape
Them dau backslash truoc ky tu dac biet de khong lam hong cu phap ben ngoai.
String Literal
Gia tri chuoi duoc dat trong dau ngoac kep trong source code.
Double-Escape
Escape them mot lan nua cho chuoi da duoc escape khi nhung vao lop chuoi khac.
URL Encode
Ma hoa ky tu dac biet cua URL thanh dang `%XX`; buoc nay tach biet voi JSON escape.

Bang doi chieu ky tu escape trong JSON Stringify

Ky tu gocSau StringifyTenGiai thich
"\"Dau ngoac kepCan escape de khong dong chuoi ben ngoai
\\\BackslashBan than ky tu escape cung phai duoc nhan doi
Xuong dong\nNewlineCan cho noi dung nhieu dong khi nhung vao chuoi mot dong
Tab\tTabEscape ky tu dieu khien
CR\rCarriage ReturnThuong thay trong xuong dong Windows
//SlashThuong co the de nguyen

Khac biet giua JSON.stringify va cong cu nay

Cong cuDau vaoDau raTinh huong pho bien
JSON.stringify()Object JSChuoi JSON chuanAPI, luu file, serialize thong thuong
Stringify mode cua cong cu nayJSON objectChuoi co ngoac kep va escape de nhungCode, DB, URL, nested JSON
Parse mode cua cong cu nayChuoi da escapeJSON object chuanKhoi phuc JSON tu log hoac DB
JSON EscapeChuoi thuongChuoi chi duoc escape ky tu dac bietLam an toan cac doan text thuong

Authoritative References