1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
---
language: json
filename: json-gr.html.markdown
contributors:
- ["Athanasios Emmanouilidis", "https://github.com/athanasiosem"]
---
Το JSON (JavaScript Object Notation) είναι ένα πολύ απλό και ελαφρύ μορφότυπο ανταλλαγής δεδομένων. Όπως αναφέρεται και στην ιστοσελίδα [json.org](http://json.org), το JSON διαβάζεται και γράφεται εύκολα από τους ανθρώπους όπως επίσης αναλύεται και παράγεται εύκολα από τις μηχανές.
Ένα κομμάτι JSON δηλώνει ένα από τα παρακάτω:
* Μια συλλογή από ζευγάρια ονομάτων/τιμών (collection of name/value pairs) (`{ }`). Σε πολλές γλώσσες προγραμματισμού αυτό αντιστοιχεί σε ένα αντικείμενo (object), μία εγγραφή (record), μία δομή (struct), ένα λεξικό (dictionary), ένα πίνακα κατακερματισμού (hash table), μια λίστα αριθμημένη με κλειδιά (keyed list) ή έναν πίνακα συσχέτισης (associative array).
* Μια ταξινομημένη λίστα τιμών (`[ ]`). Σε πολλές γλώσσες προγραμματισμού αυτό αντιστοιχεί σε ένα πίνακα (array), σε ένα διάνυσμα (vector), μία λίστα (list), ή μια ακολουθία (sequence).
Αν και το JSON στην καθαρότερη του μορφή δεν έχει σχόλια (comments), οι περισσότεροι parsers θα δεχτούν σχόλια (comments) του στύλ της γλώσσας C (`//`, `/* */`). Κάποιοι parsers επίσης ανέχονται ένα εξτρά κόμμα στο τέλος (δηλαδή ένα κόμα μετά το τελευταίο στοιχείο ενός πίνακα ή μετά την τελευταία ιδιότητα ενός αντικειμένου) αλλά καλύτερα θα είναι να αποφεύγεται η χρήση του για χάρη της συμβατότητας.
Υποστηριζόμενοι τύποι δεδομένων (data types):
* Συμβολοσειρές (Strings): `"Γεια"`, `"\"Περικοπή.\""`, `"\u0abe"`, `"Νέα γραμμή.\n"`
* Αριθμοί (Numbers): `23`, `0.11`, `12e10`, `3.141e-10`, `1.23e+4`
* Αντικείμενα (Objects): `{ "κλειδί": "τιμή" }`
* Πίνακες (Arrays): `["Τιμή1","Τιμή2","Τιμή3",]`
* Διάφορα : `true`, `false`, `null`
```json
{
"κλειδί": "τιμή",
"κλειδιά": "πρέπει πάντα να περιβάλονται από διπλά quotes",
"νούμερα": 0,
"συμβολοσειρές": "Γεια, κόσμε. Οι χαρακτήρες unicode επιτρέπονται, καθώς και το \"escaping\".",
"διαδικές τιμές": true,
"κενό": null,
"μεγάλοι αριθμοί": 1.2e+100,
"αντικείμενα": {
"σχόλια": "Σήμερα έφαγα ένα μήλο.",
"πίνακες": [0, 1, 2, 3, "Οι πίνακες μπορούνε να περιλαμβάνουν διαφορετικούς τύπους δεδομένων", 5],
"αντικείμενα μέσα σε αντικείμενα": {
"σχόλια": "Τα αντικείμενα μπορούνε να εσωκλύουν αντικείμενα."
}
},
"κενό διάστημα": "Αναγνωρίζεται χωρίς πρόβλημα αλλά καλύτερα να αποφεύγεται η χρήση του.",
"αυτό ήταν": "Πλέον γνωρίζετε πως μπορείτε να χρησιμοποιήσετε το JSON."
}
```
## Περαιτέρω διάβασμα
* [JSON.org](http://json.org)
* [JSON Tutorial](https://www.youtube.com/watch?v=wI1CWzNtE-M)
|