Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

9.3 Το JSON (JavaScript Object Notation) στην JavaScript

Το JSON (JavaScript Object Notation) είναι ένα ανοικτό πρότυπο μορφοποίησης δεδομένων που βασίζεται στη σύνταξη της JavaScript. Χρησιμοποιείται για τη μεταφορά και ανταλλαγή δεδομένων μεταξύ ενός διακομιστή και ενός πελάτη, καθώς και για την αποθήκευση δεδομένων.

Το JSON είναι εύκολα αναγνώσιμο από ανθρώπους και εύκολα κατανοητό από τις περισσότερες γλώσσες προγραμματισμού. Τα δεδομένα JSON αναπαρίστανται σε ένα μορφικό αντικείμενο-πίνακα, με διάφορες εγγραφές δεδομένων.

Εδώ είναι ένα παράδειγμα απλού JSON αντικειμένου:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"name": "John",
"age": 30,
"city": "New York"
}
{ "name": "John", "age": 30, "city": "New York" }
{
  "name": "John",
  "age": 30,
  "city": "New York"
}

Μπορείτε να χρησιμοποιήσετε τη JavaScript για να αναλύσετε (parse) ή να δημιουργήσετε JSON δεδομένα. Ας δούμε ορισμένες βασικές λειτουργίες JSON στη JavaScript:

Ανάλυση JSON (Parsing JSON)

Για να αναλύσετε ένα JSON και να το μετατρέψετε σε αντικείμενα JavaScript, χρησιμοποιήστε τη μέθοδο JSON.parse():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // Εμφανίζει: John
console.log(jsonObject.age); // Εμφανίζει: 30
console.log(jsonObject.city); // Εμφανίζει: New York
const jsonString = '{"name": "John", "age": 30, "city": "New York"}'; const jsonObject = JSON.parse(jsonString); console.log(jsonObject.name); // Εμφανίζει: John console.log(jsonObject.age); // Εμφανίζει: 30 console.log(jsonObject.city); // Εμφανίζει: New York
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Εμφανίζει: John
console.log(jsonObject.age); // Εμφανίζει: 30
console.log(jsonObject.city); // Εμφανίζει: New York

Δημιουργία JSON (Creating JSON)

Για να δημιουργήσετε ένα JSON από αντικείμενα JavaScript, χρησιμοποιήστε τη μέθοδο JSON.stringify():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const person = {
name: "Jane",
age: 25,
city: "Los Angeles"
};
const jsonString = JSON.stringify(person);
console.log(jsonString); // Εμφανίζει: {"name":"Jane","age":25,"city":"Los Angeles"}
const person = { name: "Jane", age: 25, city: "Los Angeles" }; const jsonString = JSON.stringify(person); console.log(jsonString); // Εμφανίζει: {"name":"Jane","age":25,"city":"Los Angeles"}
const person = {
  name: "Jane",
  age: 25,
  city: "Los Angeles"
};

const jsonString = JSON.stringify(person);
console.log(jsonString); // Εμφανίζει: {"name":"Jane","age":25,"city":"Los Angeles"}

Το JSON είναι ένα ισχυρό εργαλείο για την ανταλλαγή και τη μεταφορά δεδομένων μεταξύ διαφορετικών εφαρμογών και υπηρεσιών.

[adinserter block=”2″]

Η μορφή JSON είναι συντακτικά ταυτόσημη με τον κώδικα για τη δημιουργία αντικειμένων JavaScript.

Λόγω αυτής της ομοιότητας, ένα πρόγραμμα JavaScript μπορεί εύκολα να μετατρέψει τα δεδομένα JSON σε αντικείμενα JavaScript.

Ας δούμε πώς αυτή η μετατροπή λειτουργεί:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// JSON data
const jsonData = '{"name": "Alice", "age": 28, "city": "London"}';
// Parse JSON to JavaScript object
const jsObject = JSON.parse(jsonData);
console.log(jsObject.name); // Εμφανίζει: Alice
console.log(jsObject.age); // Εμφανίζει: 28
console.log(jsObject.city); // Εμφανίζει: London
// JSON data const jsonData = '{"name": "Alice", "age": 28, "city": "London"}'; // Parse JSON to JavaScript object const jsObject = JSON.parse(jsonData); console.log(jsObject.name); // Εμφανίζει: Alice console.log(jsObject.age); // Εμφανίζει: 28 console.log(jsObject.city); // Εμφανίζει: London
// JSON data
const jsonData = '{"name": "Alice", "age": 28, "city": "London"}';

// Parse JSON to JavaScript object
const jsObject = JSON.parse(jsonData);

console.log(jsObject.name); // Εμφανίζει: Alice
console.log(jsObject.age); // Εμφανίζει: 28
console.log(jsObject.city); // Εμφανίζει: London

Στο παραπάνω παράδειγμα, τα δεδομένα JSON μετατρέπονται σε ένα αντικείμενο JavaScript με τη χρήση της μεθόδου JSON.parse(). Αυτό επιτρέπει να προσπελάσετε τα δεδομένα ως αντικείμενα JavaScript, όπως θα κάνατε με οποιοδήποτε άλλο αντικείμενο.

Οι κανόνες σύνταξης για το JSON είναι απλοί και συγκεκριμένοι:

  1. Αντικείμενα JSON: Το JSON αναπαριστά αντικείμενα με τη μορφή ζεύγους “κλειδί”: “τιμή”. Τα κλειδιά πρέπει να είναι συμβολοσειρές, και πρέπει να προηγείται από διπλά εισαγωγικά. Οι τιμές μπορούν να είναι αντικείμενα JSON, πίνακες, συμβολοσειρές, αριθμοί, λογικές τιμές (true ή false), ή την τιμή null.
  2. Πίνακες JSON: Οι πίνακες αναπαριστώνται με μια λίστα τιμών μέσα σε αγκύλες. Οι τιμές μπορούν να είναι οποιοδήποτε τύπος δεδομένων όπως προαναφέρθηκε.
  3. Συμβολοσειρές JSON: Οι συμβολοσειρές πρέπει να περιβάλλονται με διπλά εισαγωγικά. Χρησιμοποιείστε διπλά εισαγωγικά (") και όχι μονά εισαγωγικά (').
  4. Αριθμοί JSON: Οι αριθμοί μπορούν να είναι ακέραιοι ή δεκαδικοί αριθμοί, με ή χωρίς κλασματικό μέρος. Δεν υποστηρίζει διαχωριστικά χιλιάδων με κόμμα ή δεκαδικά με τοπική καθοριστική σήμανση (π.χ. 1,000.00).
  5. Λογικές Τιμές JSON: Οι λογικές τιμές μπορούν να είναι true ή false, γράφονται χωρίς εισαγωγικά.
  6. Τιμή JSON null: Η τιμή null αναπαριστά την έλλειψη τιμής ή το κενό.

Παράδειγμα JSON:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"name": "John",
"age": 30,
"isStudent": false,
"city": null,
"hobbies": ["reading", "swimming"],
"address": {
"street": "123 Main St",
"zip": "12345"
}
}
{ "name": "John", "age": 30, "isStudent": false, "city": null, "hobbies": ["reading", "swimming"], "address": { "street": "123 Main St", "zip": "12345" } }
{
  "name": "John",
  "age": 30,
  "isStudent": false,
  "city": null,
  "hobbies": ["reading", "swimming"],
  "address": {
    "street": "123 Main St",
    "zip": "12345"
  }
}

Οι κανόνες σύνταξης για το JSON είναι αυστηροί και πρέπει να τηρούνται προσεκτικά κατά την κατασκευή και τον χειρισμό των δεδομένων JSON.

Τα δεδομένα JSON ακολουθούν το σχήμα “όνομα: τιμή”. Κάθε στοιχείο JSON αποτελείται από ένα όνομα και μια τιμή, τα οποία διαχωρίζονται με ένα άνω και κάτω τελεία (:). Αυτό το ζεύγος “όνομα: τιμή” αναπαριστά μια ιδιότητα του αντικειμένου JSON.

Εδώ είναι ένα παράδειγμα JSON με διάφορες ιδιότητες:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"name": "Alice",
"age": 28,
"isStudent": false,
"city": "New York"
}
{ "name": "Alice", "age": 28, "isStudent": false, "city": "New York" }
{
  "name": "Alice",
  "age": 28,
  "isStudent": false,
  "city": "New York"
}
  • Στο παράδειγμα αυτό, το όνομα “name” έχει την τιμή “Alice”.
  • Το όνομα “age” έχει την τιμή 28.
  • Το όνομα “isStudent” έχει την τιμή false.
  • Το όνομα “city” έχει την τιμή “New York”.

Κάθε ιδιότητα του αντικειμένου JSON παρουσιάζεται ως ζεύγος “όνομα: τιμή” και διαχωρίζεται από τις υπόλοιπες με ένα κόμμα, εκτός της τελευταίας.

Στο JSON, τα αντικείμενα είναι δομές δεδομένων που αναπαριστούν μια συλλογή από ιδιοτήτων (ή κλειδιά) και τις αντίστοιχες τιμές τους. Τα αντικείμενα JSON περικλείονται με αγκύλες {} και περιλαμβάνουν μια ή περισσότερες ιδιότητες.

Εδώ είναι ένα παράδειγμα αντικειμένου JSON:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"name": "John",
"age": 30,
"city": "New York"
}
{ "name": "John", "age": 30, "city": "New York" }
{
  "name": "John",
  "age": 30,
  "city": "New York"
}

Στο παραπάνω παράδειγμα:

  • Το αντικείμενο JSON περικλείεται με αγκύλες {}.
  • Έχει τρεις ιδιότητες: “name”, “age” και “city”.
  • Η ιδιότητα “name” έχει την τιμή “John”.
  • Η ιδιότητα “age” έχει την τιμή 30.
  • Η ιδιότητα “city” έχει την τιμή “New York”.

Τα αντικείμενα JSON μπορούν να περιέχουν εμφωλευμένα αντικείμενα ή πίνακες, δημιουργώντας ιεραρχίες δεδομένων.

[adinserter block=”3″]

Τα πίνακες JSON είναι δομές δεδομένων που αναπαριστούν μια σειρά τιμών. Οι τιμές αυτές μπορούν να είναι οποιοδήποτε τύποι δεδομένων, συμπεριλαμβανομένων συμβολοσειρών, αριθμών, αντικειμένων JSON, πινάκων JSON, λογικών τιμών και της τιμής null. Τα στοιχεία των πινάκων JSON διαχωρίζονται με κόμματα.

Εδώ είναι ένα παράδειγμα πίνακα JSON:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"fruits": ["apple", "banana", "orange"]
}
{ "fruits": ["apple", "banana", "orange"] }
{
  "fruits": ["apple", "banana", "orange"]
}

Στο παραπάνω παράδειγμα:

  • Το αντικείμενο JSON περιέχει μια ιδιότητα με όνομα “fruits”.
  • Η ιδιότητα “fruits” περιέχει έναν πίνακα JSON.
  • Ο πίνακας JSON περιέχει τρεις τιμές: “apple”, “banana” και “orange”.

Οι πίνακες JSON μπορούν να περιέχουν οποιοδήποτε αριθμό τιμών και μπορούν να είναι εμφωλευμένοι μέσα σε αντικείμενα JSON ή άλλους πίνακες JSON, δημιουργώντας πολύπλοκες δομές δεδομένων.

Η μετατροπή ενός κειμένου JSON σε ένα αντικείμενο JavaScript γίνεται χρησιμοποιώντας τη μέθοδο JSON.parse(). Αυτή η μέθοδος δέχεται ως είσοδο ένα κείμενο JSON και επιστρέφει ένα αντικείμενο JavaScript που αντιστοιχεί στα δεδομένα JSON.

Εδώ είναι ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // Εμφανίζει: John
console.log(jsonObject.age); // Εμφανίζει: 30
console.log(jsonObject.city); // Εμφανίζει: New York
const jsonString = '{"name": "John", "age": 30, "city": "New York"}'; const jsonObject = JSON.parse(jsonString); console.log(jsonObject.name); // Εμφανίζει: John console.log(jsonObject.age); // Εμφανίζει: 30 console.log(jsonObject.city); // Εμφανίζει: New York
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Εμφανίζει: John
console.log(jsonObject.age); // Εμφανίζει: 30
console.log(jsonObject.city); // Εμφανίζει: New York

Στο παραπάνω παράδειγμα, το κείμενο JSON περνιέται στη μέθοδο JSON.parse(), η οποία μετατρέπει το κείμενο JSON σε ένα αντικείμενο JavaScript. Στη συνέχεια, μπορούμε να προσπελάσουμε τα δεδομένα του αντικειμένου JavaScript όπως θα κάναμε με οποιοδήποτε άλλο αντικείμενο.

Ένα παράδειγμα που συνδυάζει HTML και JavaScript για τη μετατροπή ενός κειμένου JSON σε ένα αντικείμενο JavaScript και την εμφάνιση των δεδομένων:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<!DOCTYPE html>
<html>
<head>
<title>JSON to JavaScript Example</title>
</head>
<body>
<h2>JSON to JavaScript Example</h2>
<p id="jsonText">{"name": "John", "age": 30, "city": "New York"}</p>
<script>
// Get the JSON text from the HTML element
const jsonTextElement = document.getElementById("jsonText");
const jsonString = jsonTextElement.textContent;
// Parse the JSON and convert it to a JavaScript object
const jsonObject = JSON.parse(jsonString);
// Display the data
document.write("<p>Name: " + jsonObject.name + "</p>");
document.write("<p>Age: " + jsonObject.age + "</p>");
document.write("<p>City: " + jsonObject.city + "</p>");
</script>
</body>
</html>
<!DOCTYPE html> <html> <head> <title>JSON to JavaScript Example</title> </head> <body> <h2>JSON to JavaScript Example</h2> <p id="jsonText">{"name": "John", "age": 30, "city": "New York"}</p> <script> // Get the JSON text from the HTML element const jsonTextElement = document.getElementById("jsonText"); const jsonString = jsonTextElement.textContent; // Parse the JSON and convert it to a JavaScript object const jsonObject = JSON.parse(jsonString); // Display the data document.write("<p>Name: " + jsonObject.name + "</p>"); document.write("<p>Age: " + jsonObject.age + "</p>"); document.write("<p>City: " + jsonObject.city + "</p>"); </script> </body> </html>
<!DOCTYPE html>
<html>
<head>
  <title>JSON to JavaScript Example</title>
</head>
<body>

<h2>JSON to JavaScript Example</h2>

<p id="jsonText">{"name": "John", "age": 30, "city": "New York"}</p>

<script>
// Get the JSON text from the HTML element
const jsonTextElement = document.getElementById("jsonText");
const jsonString = jsonTextElement.textContent;

// Parse the JSON and convert it to a JavaScript object
const jsonObject = JSON.parse(jsonString);

// Display the data
document.write("<p>Name: " + jsonObject.name + "</p>");
document.write("<p>Age: " + jsonObject.age + "</p>");
document.write("<p>City: " + jsonObject.city + "</p>");
</script>

</body>
</html>

Σε αυτό το παράδειγμα, το κείμενο JSON περιλαμβάνεται στο στοιχείο <p> με id="jsonText". Στη συνέχεια, η JavaScript μετατρέπει το κείμενο JSON σε ένα αντικείμενο JavaScript χρησιμοποιώντας την JSON.parse(). Τέλος, τα δεδομένα εμφανίζονται μέσω της document.write().

Ανοίξτε αυτό το αρχείο HTML σε έναν ιστότοπο ή σε έναν τοπικό φυλλομετρητή για να δείτε τα αποτελέσματα.

21 Αυγούστου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων