Bailíochtaigh comhréir JSON
- Deais
- Doiciméadú
- API
Cén úsáid a bhaintear as bailíochtóir JSON?
Tá ról níos measartha, ach níos beaichte, ag bailíochtóir JSON ná ag formáidí: ní athscríobhann sé faic. Tógann sé teaghrán agus freagraíonn sé ceist dhénártha: an bhfuil an téacs seo ag teacht le JSON? RFC 8259? Má tá, filleann an uirlis rialú. Mura bhfuil, léiríonn sé go díreach an tsraith, an colún agus sliocht an JSON timpeall na faidhbe, chun cuidiú leis an bhforbróir é a shocrú láithreach.
Go praiticiúil, is é an uirlis a úsáidimid a luaithe a sheolann parsálaí teachtaireacht earráide ar ais áit éigin
cripteach cosúil le Earráid Chomhréire: Comhartha gan choinne } in JSON ag suíomh 217. Seachas
comhaireamh na carachtair de láimh in eagarthóir, greamaigh an teaghrán iomlán, léigh an suíomh agus féach
an sliocht cionta.
Bailíochtú, formáidiú: dhá oibríocht ar leith
Is minic a mhearbhallaimid an dá rud. Glacann ár formadóir JSON JSON bailí agus
athscríobhann sé é le eangú inléite. Tá an bailíochtóir sásta le fíorasc comhréire. sé
ní dhéanann sé bailíochtú séimeantach: ní fios cé acu an bhfuil luach réimse ríomhphoist
is cosúil le ríomhphost, ná má thagann an struchtúr le Scéimre JSON. Chun seo, úsáidimid
uirlisí tiomnaithe (ajv in Nód, justinrainbow/json-schema i PHP).
Is é an seicheamh clasaiceach i ndífhabhtaithe ná: bailí ar dtús (léiríonn an uirlis earráid an chomhréire), formáid ansin (tá an pálasta atá bailí anois inléite), i gcomparáid ar deireadh le pálasta tagartha eile trínár comaradóir JSON.
Na hearráidí JSON is coitianta
- Camóg leantóra:
{ "a": 1, "b": 2, }. Tolerated by JavaScript, ECMAScript agus JSON5; dhiúltú ag JSON íon. Seo é an botún #1 agus tú á chóipeáil agus á ghreamú ó eagarthóir cód. - Apastrophes in ionad athfhriotail dhúbailte: Tá
{'a': 1}neamhbhailí. JSON ní ghlacann sé ach le comharthaí athfhriotail dúbailte, timpeall eochracha agus luachanna teaghrán. - Eochracha neamhluaite:
{a: 1}, comhréir bailí JavaScript ach JSON neamhbhailí. - Carachtair rialaithe gan éalú i teaghrán: nualíne amh, a
táblaíocht. Tá
ag teastáil ó JSON,,. - Tuairimí:
// nóta tráchtanó/* */. Glacadh leis in JSONC (config VS Code) nó JSON5, diúltaithe i JSON glan. - Ionchódú mícheart: BOM UTF-8 ag tús an chomhaid, ábhar Laidine-1 mícheart tiontaithe. Is minic a sheolann an bailíochtóir teachtaireacht chineálach ar ais do na cásanna seo.
- Struchtúr neamhchríochnaithe: a
{nó[gan dúnadh, coitianta nuair a ghearrann tú pálasta agus tú á chóipeáil agus á ghreamú.
Conas a aimsíonn an bailíochtóir an earráid
Úsáideann an uirlis json_decode() PHP leis an mbratach JSON_THROW_ON_ERROR. PHP
seolann sé teachtaireacht ar ais ina bhfuil suíomh i mbearta (suíomh 217), a dtiontóimid di
péire líne/colún trí sosanna líne a chomhaireamh roimh an bhfritháireamh. Tá sliocht tuairim is 80 carachtar ann
ansin gearr thart ar an suíomh chun comhthéacs a thabhairt. Is leor é seo a aithint go ginearálta
an earráid: ceanglófar amú, camóg bhreise, lúibín in easnamh.
Rabhadh: ní hé an seasamh a thuairiscigh PHP i gcónaí an carachtar ciontach. She is
go minic tar éis na hearráide, nuair a bhíonn an parsálaí éirithe as. Má thaispeánann an bhlúire "name":
"Alice", }, is é an camóg an earráid iarbhír, ní an brace.
Cásanna úsáide tipiciúla
- Cumraíocht truaillithe:
composer.json,package.json,tsconfig.jsona chuireann cosc ar thógáil. Déanaimid greamú, feicimid an líne, ceartaimid. - Freagra teasctha API: Ghearr seachfhreastalaí an pálasta. Níl an struchtúr críochnaithe, tuairiscíonn an bailíochtóir é seo.
- Ualach Pála Webhook: Seolann seirbhís tríú páirtí JSON míchumtha. Ceadaíonn an bailíochtóir chun an fhadhb ar thaobh an tseoltóra a thabhairt faoi deara gan dul isteach sa chód feidhmchláir.
- JSON tógtha trí chomhghaolú: cleachtas le seachaint ach coitianta, go háirithe i mbais nó i SQL. Nochtann an bailíochtóir comharthaí athfhriotail dhúbailte nár éirigh leo.
Teorainneacha Uirlisí
Ní dhéanann an bailíochtóir bailíochtú i gcoinne scéimre. Ní deir sé go bhfuil an pháirc in easnamh air
email, nach slánuimhir é an luach nó nach bhfuil an fad ceart ag an eagar ionchais.
Le haghaidh na seiceálacha struchtúracha seo, úsáidimid Scéimre JSON. Ní cheartaíonn an bailíochtóir an
JSON: ní dhéanann sé iarracht brace ar iarraidh a chur leis nó camóg breise a bhaint. Is rogha é
: cuireann ceartú uathoibríoch i bhfolach ró-mhinic earráidí.
Ceisteanna coitianta
Cad é an difríocht le línéar?
Téann lintéar níos faide: seiceálann sé freisin rialacha stíl (aibítre, coinbhinsiúin ainmniúcháin), aimsíonn sé luachanna dúblacha, molann feabhsuithe. Tá an bailíochtóir fós ag comhlíonadh comhréir.
Tá mo JSON bailí, ach diúltaíonn m'iarratas dó?
Seiceáil an t-ionchódú (UTF-8 gan BOM), teorainn mhéid an fhreastalaí, na cineálacha a bhfuiltear ag súil leo. A JSON b'fhéidir nach bhfuil an ceart sytactactically ag freagairt do scéimre an iarratais.
An gcoimeádann an bailíochtóir mo JSON?
Níl. Tá próiseáil sioncronach ar thaobh an fhreastalaí, gan marthanacht. Le haghaidh sonraí an-íogair,
is fearr fós bailíochtú áitiúil trí jq nó script PHP.
Sampla iarratais
curl -X POST https://cdrn.fr/api/v1/tools/json-validator/execute \
-H "Content-Type: application/json" \
-d '{"input":"..."}'
Scéimre ionchuir
| Réimse | Cineál | Riachtanach | Réamhshocrú |
|---|---|---|---|
input |
text | ✓ | – |
Críochphointí
GET https://cdrn.fr/api/v1/tools- liostaíonn na huirlisí go léir atá ar fáilGET https://cdrn.fr/api/v1/tools/json-validator- faigh scéimre na huirlise seoPOST https://cdrn.fr/api/v1/tools/json-validator/execute- rith an uirlis seo le pálasta JSON