Mastering JSON and JavaScript for Web Development Quiz and Exercises Included Free PDF Guide

JSON (JavaScript Object Notation) for JavaScript Learners

JSON is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate. It is often used to transmit data between a server and web application, as well as for configuration files.

Key Characteristics:

Data Format:

  • JSON represents data in key-value pairs.
  • Data is enclosed in curly braces {}.

Data Types:

Supports various data types: strings, numbers, objects, arrays, booleans, and null.

Example:

{

 “name”: “John Doe”,

 “age”: 25,

 “isStudent”: false,

 “courses”: [“Math”, “History”, “Computer Science”],

 “address”: {

 “city”: “New York”,

 “zipcode”: “10001”

 },

 “grades”: null

}

Arrays:

Ordered list of values.

{

 “fruits”: [“apple”, “banana”, “orange”]

}

Objects:

Unordered collection of key-value pairs.

{

 “person”: {

 “name”: “Alice”,

 “age”: 30,

 “city”: “San Francisco”

 }

}

String Values:

Enclosed in double quotes.

{

 “message”: “Hello, JSON!”

}

Parsing JSON:

const jsonString = ‘{“name”: “John”, “age”: 28, “city”: “Paris”}’;

const parsedData = JSON.parse(jsonString);

console.log(parsedData.name); // Outputs: John

Stringifying Objects to JSON:

const userData = {

 name: “Jane”,

 age: 22,

 city: “London”

};

const jsonString = JSON.stringify(userData);

console.log(jsonString);

// Outputs: {“name”:”Jane”,”age”:22,”city”:”London”}

Nested JSON:

const nestedData = {

 “name”: “Bob”,

 “address”: {

 “city”: “Berlin”,

 “zipcode”: “10115”

 }

};

console.log(nestedData.address.city); // Outputs: Berlin

JSON Array:

const jsonArray = ‘[{“name”: “Tom”}, {“name”: “Jerry”}]’;

const parsedArray = JSON.parse(jsonArray);

console.log(parsedArray[0].name); // Outputs: Tom

JSON is a powerful tool for data exchange in web development, and understanding its structure is crucial for working with APIs and handling data in various applications. Practice parsing and creating JSON to enhance your proficiency in JavaScript! 🚀🌐

Coding Exercises for JSON

Exercise 1: Parsing JSON

Description: Parse the given JSON string and log the name and age of the person.

JSON:

{

  “name”: “Alice”,

  “age”: 28,

  “city”: “New York”

}

Solution:

const jsonString = ‘{“name”: “Alice”, “age”: 28, “city”: “New York”}’;

const parsedData = JSON.parse(jsonString);

console.log(“Name:”, parsedData.name);

console.log(“Age:”, parsedData.age);

Exercise 2: Stringifying Objects to JSON

Description: Convert the given user data object to a JSON string and log it.

Object:

const userData = {

  name: “Bob”,

  age: 30,

  city: “Los Angeles”

};

Solution:

const jsonString = JSON.stringify(userData);

console.log(jsonString);

Exercise 3: Accessing Nested JSON

Description: Access the city and postal code from the nested address object.

JSON:

{

  “name”: “Charlie”,

  “address”: {

    “city”: “Paris”,

    “postalCode”: “75001”

  }

}

Solution:

const jsonData = {

  “name”: “Charlie”,

  “address”: {

    “city”: “Paris”,

    “postalCode”: “75001”

  }

};

console.log(“City:”, jsonData.address.city);

console.log(“Postal Code:”, jsonData.address.postalCode);

Exercise 4: Working with JSON Array

Description: Parse the given JSON array and log the names of all users.

JSON Array:

[

  {“name”: “David”},

  {“name”: “Emma”},

  {“name”: “Frank”}

]

Solution:

const jsonArray = ‘[{“name”: “David”}, {“name”: “Emma”}, {“name”: “Frank”}]’;

const parsedArray = JSON.parse(jsonArray);

parsedArray.forEach(function(user) {

  console.log(“Name:”, user.name);

});

Exercise 5: Modifying JSON Data

Description: Update the age of the person in the given JSON string to 35.

JSON:

{

  “name”: “Grace”,

  “age”: 30,

  “city”: “Berlin”

}

Solution:

const jsonString = ‘{“name”: “Grace”, “age”: 30, “city”: “Berlin”}’;

const parsedData = JSON.parse(jsonString);

parsedData.age = 35;

const updatedJsonString = JSON.stringify(parsedData);

console.log(updatedJsonString);

Exercise 6: Checking for Key in JSON

Description: Check if the key “country” exists in the JSON data.

JSON:

{

  “name”: “Hank”,

  “age”: 25,

  “city”: “Tokyo”

}

Solution:

const jsonData = {

  “name”: “Hank”,

  “age”: 25,

  “city”: “Tokyo”

};

const keyExists = “country” in jsonData;

console.log(“Key ‘country’ exists:”, keyExists);

Exercise 7: Handling Invalid JSON

Description: Safely parse the given JSON string and log the result. Handle any errors that may occur during parsing.

JSON:

{

  “name”: “Ivy”,

  “age”: “twenty”,

  “city”: “Sydney”

}

Solution:

const jsonString = ‘{“name”: “Ivy”, “age”: “twenty”, “city”: “Sydney”}’;

try {

  const parsedData = JSON.parse(jsonString);

  console.log(parsedData);

} catch (error) {

  console.error(“Error parsing JSON:”, error.message);

}

Exercise 8: Creating JSON from User Input

Description: Take user input for name, age, and city, create a JSON object, and log the result.

Solution:

const userName = prompt(“Enter name:”);

const userAge = prompt(“Enter age:”);

const userCity = prompt(“Enter city:”);

const userObject = {

  name: userName,

  age: parseInt(userAge),

  city: userCity

};

const jsonString = JSON.stringify(userObject);

console.log(jsonString);

Exercise 9: Filtering JSON Array

Description: Filter the given JSON array to include only users with an age greater than 25 and log the result.

JSON Array:

[

  {“name”: “Jack”, “age”: 30},

  {“name”: “Kelly”, “age”: 22},

  {“name”: “Leo”, “age”: 28}

]

Solution:

const jsonArray = ‘[{“name”: “Jack”, “age”: 30}, {“name”: “Kelly”, “age”: 22}, {“name”: “Leo”, “age”: 28}]’;

const parsedArray = JSON.parse(jsonArray);

const filteredUsers = parsedArray.filter(function(user) {

  return user.age > 25;

});

console.log(filteredUsers);

Exercise 10: Summing Numbers from JSON Array

Description: Calculate and log the sum of all numbers in the given JSON array.

JSON Array:

[10, 15, 20, 25]

Solution:

const jsonArray = ‘[10, 15, 20, 25]’;

const numbersArray = JSON.parse(jsonArray);

const sum = numbersArray.reduce(function(acc, num) {

  return acc + num;

}, 0);

console.log(“Sum:”, sum);

These exercises cover various aspects of working with JSON in JavaScript. Practice them to enhance your understanding of JSON manipulation and parsing! 

Quiz Questions

Q1: What does JSON stand for?

a) JavaScript Object Notation

b) Java Standard Object Notation

c) JavaScript Oriented Numbers

d) Java Serialized Object Notation

Q2: Which of the following is a valid JSON object?

a) { “name”: “John”, “age”: 25, “city”: “New York” }

b) [ “apple”, “banana”, “cherry” ]

c) 25

d) All of the above

Q3: How do you access the value of the “age” key in a JSON object?

a) jsonObject[“age”]

b) jsonObject.age

c) jsonObject.get(“age”)

d) Both a and b

Q4: Which method is used to convert a JavaScript object to a JSON string?

a) object.parseJSON()

b) JSON.stringify()

c) object.toString()

d) JSON.parse()

Q5: In JSON, how do you represent an array of numbers?

a) { “numbers”: “1, 2, 3” }

b) { “numbers”: [1, 2, 3] }

c) { “numbers”: “one, two, three” }

d) { “numbers”: (1, 2, 3) }

Q6: What is the purpose of JSON.parse()?

a) Converts a JSON string to a JavaScript object

b) Converts a JavaScript object to a JSON string

c) Checks if a key exists in a JSON object

d) Modifies the content of a JSON object

Q7: Which data type is represented by null in JSON?

a) String

b) Number

c) Boolean

d) Null

Q8: How do you access the first element of a JSON array?

a) jsonArray[0]

b) jsonArray.first()

c) jsonArray.getElement(0)

d) jsonArray.get(1)

Q9: What is the purpose of JSON.stringify()?

a) Converts a JSON string to a JavaScript object

b) Converts a JavaScript object to a JSON string

c) Checks if a key exists in a JSON object

d) Modifies the content of a JSON object

Q10: How do you check if a key exists in a JSON object?

a) keyExists(key, jsonObject)

b) jsonObject.keyExists(key)

c) key in jsonObject

d) jsonObject.hasKey(key)

Answers:

Answer: a) JavaScript Object Notation

Answer: a) { “name”: “John”, “age”: 25, “city”: “New York” }

Answer: d) Both a and b

Answer: b) JSON.stringify()

Answer: b) { “numbers”: [1, 2, 3] }

Answer: a) Converts a JSON string to a JavaScript object

Answer: d) Null

Answer: a) jsonArray[0]

Answer: b) Converts a JavaScript object to a JSON string

Answer: c) key in jsonObject