SlideShare a Scribd company logo
1 of 25
Unit-2
Working with JSON
What is JSON?
Java Script Object Notation, or JSON, is a lightweight data format that
has become the defacto standard for the web. JSON can be represented
as either a list of values, e.g. an Array, or a hash of properties and
values, e.g. an Object.
Array, Object
[ a, m, y ]
{ name : value }
• // a JSON array
["one", "two", "three"]
// a JSON object
{
"one": 1, // name : “Mukesh”
"two": 2,
"three": 3
}
Format of Node.js Object: JSON-
object
• Create an Object of student:
var student =
{
Name: "Amit",
Branch:"BCA",
City: "kathmandu",
Mobile: "99946730"
};
Encoding and Decoding
JavaScript provides 2 methods for encoding data structures to JSON and
encoding JSON back to JavaScript objects and arrays. They are both
available on the JSON object that is available in the global scope.
JSON.stringify takes a JavaScript object or array and returns a
serialized string in the JSON format.
const data = {
name: 'John Doe',
age: 32,
title: 'Vice President of JavaScript'
};
const jsonStr = JSON.stringify(data);
console.log(jsonStr);
// prints '{"name":"John Doe","age":32,"title":"Vice President of
JavaScript"}'
JSON.parse takes a JSON string and decodes it to a
JavaScript data structure.
const jsonStr =
'{"name":"John Doe","age":32,"title":"Vice President of JavaScript"}';
const data = JSON.parse(jsonStr);
console.log(data.title);
// prints 'Vice President of JavaScript'
What is valid JSON?
There are a few rules to remember when dealing with data in JSON
format. There are several pitfall that can produce invalid JSON as well.
• Empty objects and arrays are okay
• Strings can contain any unicode character, this includes object properties
• null is a valid JSON value on it's own
• All object properties should always be double quoted
• Object property values must be one of the following: String, Number,
Boolean, Object, Array, null
• Number values must be in decimal format, no octal or hex
representations
• Trailing commas on arrays are not allowed
These are all examples of valid JSON.
{"name":"John Doe","age":32,"title":"Vice President of JavaScript"}
["one", "two", "three"]
// nesting valid values is okay
{"names": ["John Doe", "Jane Doe"] }
[ { "name": "John Doe"}, {"name": "Jane Doe"} ]
{} // empty hash
[] // empty list
null
{ "key": "uFDD0" } // unicode escape codes
These are all examples of bad JSON formatting.
{ name: "John Doe", 'age': 32 } // name and age should be in double
quotes
[32, 64, 128, 0xFFF] // hex numbers are not allowed
{ "name": "John Doe", "age": undefined } // undefined is an invalid
value
// functions and dates are not allowed
{ "name": "John Doe",
"birthday": new Date('Fri, 26 Jan 2019 07:13:10 GMT'),
"getName": function() {
return this.name;
}}
Calling JSON.parse with an invalid JSON string will result in a
SyntaxError being thrown. If you are not sure of the validity of your
JSON data, you can anticipate errors by wrapping the call in a try/catch
block.
Notice that the only complex values allowed in JSON are objects and
arrays. Functions, dates and other types are excluded. This may not
seem to make sense at first. But remember that JSON is a data format,
not a format for transferring complex JavaScript objects along with
their functionality.
Example-1
const book = {
title : “Node.js Book",
author : "Basarat Ali Syed"
}
const bookJSON = JSON.stringify(book)
console.log(book)
console.log(bookJSON)
Example-2
const book =
{
title : "Narinder Modi",
author : "xyz"
}
const bookJSON = JSON.stringify(book)
console.log(book.title)
console.log(bookJSON.title)
Example-3
const book =
{
title : "Narinder Modi",
author : "xyz"
}
const bookJSON = JSON.stringify(book)
console.log(book.title)
console.log(bookJSON.title)
const bookObj = JSON.parse(bookJSON)
console.log(bookObj.title)
Example-4
const fs = require("fs")
const book = {
title : "Narinder Modi",
author : "xyz"
}
const bookJSON = JSON.stringify(book)
console.log(book.title)
console.log(bookJSON.title)
const bookObj = JSON.parse(bookJSON)
console.log(bookObj.title)
fs.writeFileSync("myjson.json",bookJSON)
Example-5
const fs = require("fs")
//const book = {
// title : "Narinder Modi",
// author : "xyz"
//}
//const bookJSON = JSON.stringify(book)
//console.log(book.title)
//console.log(bookJSON.title)
//const bookObj = JSON.parse(bookJSON)
const dataBuffer = fs.readFileSync("myjson.json")
//console.log(dataBuffer)
console.log(dataBuffer.toString())
Example-6
const fs = require("fs")
//const book = {
// title : "Narinder Modi",
// author : "xyz"
//}
//const bookJSON = JSON.stringify(book)
//console.log(book.title)
//console.log(bookJSON.title)
//const bookObj = JSON.parse(bookJSON)
const dataBuffer = fs.readFileSync("myjson.json")
//console.log(dataBuffer)
const dataJSON = dataBuffer.toString()
const bookObj = JSON.parse(dataJSON)
console.log(bookObj)
Example-7
const fs = require("fs")
//const book = {
// title : "Narinder Modi",
// author : "xyz"
//}
//const bookJSON = JSON.stringify(book)
//console.log(book.title)
//console.log(bookJSON.title)
//const bookObj = JSON.parse(bookJSON)
const dataBuffer = fs.readFileSync("myjson.json")
//console.log(dataBuffer)
const dataJSON = dataBuffer.toString()
const bookObj = JSON.parse(dataJSON)
console.log(bookObj.title)
How to read and write JSON file using
Node.js ?
Method 1: Using require method: The simplest method to read a JSON
file is to require it in a node.js file using require() method.
• const data = require('path/to/file/filename’);
• Example: Create a users.json file in the same directory where index.js
file present. Add following data to the JSON file.
• users.json file:
[
{
"name": "John",
"age": 21,
"language": ["JavaScript", "PHP", "Python"]
},
{
"name": "Smith",
"age": 25,
"language": ["PHP", "Go", "JavaScript"]
}
]
Now, add the following code to your index.js file.
const users = require("./users");
console.log(users);
Now, run the file using the command:
node index.js
• Method 2: Using the fs module: We can also use node.js fs module to
read a file. The fs module returns a file content in string format so we
need to convert it into JSON format by using JSON.parse() in-built
method.
• Add the following code into your index.js file:
• index.js file:
const fs = require("fs");
// Read users.json file
fs.readFile("users.json", function(err, data) {
// Check for errors
if (err) throw err;
// Converting to JSON
const users = JSON.parse(data);
console.log(users); // Print users
});
Writing to a JSON file: We can write data into a JSON file by
using the node.js fs module. We can use writeFile method to
write data into a file.
• Syntax: fs.writeFile("filename", data, callback);
Example: We will add a new user to the existing JSON file, we
have created in the previous example. This task will be
completed in three steps:
• Read the file using one of the above methods.
• Add the data using .push() method.
• Write the new data to the file using JSON.stringify() method
to convert data into string.
const fs = require("fs"); // STEP 1: Reading JSON file
const users = require("./users"); // Defining new user
let user = {
name: "New User",
age: 30,
language: ["PHP", "Go", "JavaScript"]
};
// STEP 2: Adding new data to users object
users.push(user);
// STEP 3: Writing to a file
fs.writeFile("users.json", JSON.stringify(users), err => {
// Checking for errors
if (err) throw err;
console.log("Done writing"); // Success
});

More Related Content

What's hot (20)

java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and files
 
Introduction to JavaScript Basics.
Introduction to JavaScript Basics.Introduction to JavaScript Basics.
Introduction to JavaScript Basics.
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 
Get method and post method
Get method and post methodGet method and post method
Get method and post method
 
An Intro into webpack
An Intro into webpackAn Intro into webpack
An Intro into webpack
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Active server pages
Active server pagesActive server pages
Active server pages
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Php
PhpPhp
Php
 
ES6 presentation
ES6 presentationES6 presentation
ES6 presentation
 
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Understanding java streams
Understanding java streamsUnderstanding java streams
Understanding java streams
 
CSS
CSSCSS
CSS
 
Cookie and session
Cookie and sessionCookie and session
Cookie and session
 
PHP Presentation
PHP PresentationPHP Presentation
PHP Presentation
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript Tutorial
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP Functions
 
Fast Data Analytics with Spark and Python
Fast Data Analytics with Spark and PythonFast Data Analytics with Spark and Python
Fast Data Analytics with Spark and Python
 

Similar to JSON-Optimized 40-char title

JSON & AJAX.pptx
JSON & AJAX.pptxJSON & AJAX.pptx
JSON & AJAX.pptxdyumna2
 
module 2.pptx for full stack mobile development application on backend applic...
module 2.pptx for full stack mobile development application on backend applic...module 2.pptx for full stack mobile development application on backend applic...
module 2.pptx for full stack mobile development application on backend applic...HemaSenthil5
 
Basics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesBasics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesSanjeev Kumar Jaiswal
 
JSON-(JavaScript Object Notation)
JSON-(JavaScript Object Notation)JSON-(JavaScript Object Notation)
JSON-(JavaScript Object Notation)Skillwise Group
 
BITM3730Week8.pptx
BITM3730Week8.pptxBITM3730Week8.pptx
BITM3730Week8.pptxMattMarino13
 
JSON Fuzzing: New approach to old problems
JSON Fuzzing: New  approach to old problemsJSON Fuzzing: New  approach to old problems
JSON Fuzzing: New approach to old problemstitanlambda
 
Unit-2 JSON.pdf
Unit-2 JSON.pdfUnit-2 JSON.pdf
Unit-2 JSON.pdfhskznx
 
Dealing with JSON files in python with illustrations
Dealing with JSON files in python with illustrationsDealing with JSON files in python with illustrations
Dealing with JSON files in python with illustrationsKiran Kumaraswamy
 

Similar to JSON-Optimized 40-char title (20)

Working with JSON.pptx
Working with JSON.pptxWorking with JSON.pptx
Working with JSON.pptx
 
Json
JsonJson
Json
 
JSON & AJAX.pptx
JSON & AJAX.pptxJSON & AJAX.pptx
JSON & AJAX.pptx
 
Intro to JSON
Intro to JSONIntro to JSON
Intro to JSON
 
module 2.pptx for full stack mobile development application on backend applic...
module 2.pptx for full stack mobile development application on backend applic...module 2.pptx for full stack mobile development application on backend applic...
module 2.pptx for full stack mobile development application on backend applic...
 
Basics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesBasics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examples
 
Json
JsonJson
Json
 
Intro to JSON
Intro to JSONIntro to JSON
Intro to JSON
 
JSON-(JavaScript Object Notation)
JSON-(JavaScript Object Notation)JSON-(JavaScript Object Notation)
JSON-(JavaScript Object Notation)
 
CSV JSON and XML files in Python.pptx
CSV JSON and XML files in Python.pptxCSV JSON and XML files in Python.pptx
CSV JSON and XML files in Python.pptx
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
 
Introduction to JSON
Introduction to JSONIntroduction to JSON
Introduction to JSON
 
BITM3730Week8.pptx
BITM3730Week8.pptxBITM3730Week8.pptx
BITM3730Week8.pptx
 
JavaScript Lessons 2023 V2
JavaScript Lessons 2023 V2JavaScript Lessons 2023 V2
JavaScript Lessons 2023 V2
 
JSON Fuzzing: New approach to old problems
JSON Fuzzing: New  approach to old problemsJSON Fuzzing: New  approach to old problems
JSON Fuzzing: New approach to old problems
 
Json tutorial, a beguiner guide
Json tutorial, a beguiner guideJson tutorial, a beguiner guide
Json tutorial, a beguiner guide
 
Unit-2 JSON.pdf
Unit-2 JSON.pdfUnit-2 JSON.pdf
Unit-2 JSON.pdf
 
An introduction to json
An introduction to jsonAn introduction to json
An introduction to json
 
Json at work overview and ecosystem-v2.0
Json at work   overview and ecosystem-v2.0Json at work   overview and ecosystem-v2.0
Json at work overview and ecosystem-v2.0
 
Dealing with JSON files in python with illustrations
Dealing with JSON files in python with illustrationsDealing with JSON files in python with illustrations
Dealing with JSON files in python with illustrations
 

More from Lovely Professional University

The HyperText Markup Language or HTML is the standard markup language
The HyperText Markup Language or HTML is the standard markup languageThe HyperText Markup Language or HTML is the standard markup language
The HyperText Markup Language or HTML is the standard markup languageLovely Professional University
 

More from Lovely Professional University (20)

The HyperText Markup Language or HTML is the standard markup language
The HyperText Markup Language or HTML is the standard markup languageThe HyperText Markup Language or HTML is the standard markup language
The HyperText Markup Language or HTML is the standard markup language
 
Yargs Module
Yargs ModuleYargs Module
Yargs Module
 
NODEMON Module
NODEMON ModuleNODEMON Module
NODEMON Module
 
Getting Input from User
Getting Input from UserGetting Input from User
Getting Input from User
 
fs Module.pptx
fs Module.pptxfs Module.pptx
fs Module.pptx
 
Transaction Processing in DBMS.pptx
Transaction Processing in DBMS.pptxTransaction Processing in DBMS.pptx
Transaction Processing in DBMS.pptx
 
web_server_browser.ppt
web_server_browser.pptweb_server_browser.ppt
web_server_browser.ppt
 
Web Server.pptx
Web Server.pptxWeb Server.pptx
Web Server.pptx
 
Number System.pptx
Number System.pptxNumber System.pptx
Number System.pptx
 
Programming Language.ppt
Programming Language.pptProgramming Language.ppt
Programming Language.ppt
 
Information System.pptx
Information System.pptxInformation System.pptx
Information System.pptx
 
Applications of Computer Science in Pharmacy-1.pptx
Applications of Computer Science in Pharmacy-1.pptxApplications of Computer Science in Pharmacy-1.pptx
Applications of Computer Science in Pharmacy-1.pptx
 
Application of Computers in Pharmacy.pptx
Application of Computers in Pharmacy.pptxApplication of Computers in Pharmacy.pptx
Application of Computers in Pharmacy.pptx
 
Deploying your app.pptx
Deploying your app.pptxDeploying your app.pptx
Deploying your app.pptx
 
Setting up github and ssh keys.ppt
Setting up github and ssh keys.pptSetting up github and ssh keys.ppt
Setting up github and ssh keys.ppt
 
Adding a New Feature and Deploying.ppt
Adding a New Feature and Deploying.pptAdding a New Feature and Deploying.ppt
Adding a New Feature and Deploying.ppt
 
Requiring your own files.pptx
Requiring your own files.pptxRequiring your own files.pptx
Requiring your own files.pptx
 
Unit-2 Getting Input from User.pptx
Unit-2 Getting Input from User.pptxUnit-2 Getting Input from User.pptx
Unit-2 Getting Input from User.pptx
 
Yargs Module.pptx
Yargs Module.pptxYargs Module.pptx
Yargs Module.pptx
 
Restarting app with Nodemon.pptx
Restarting app with Nodemon.pptxRestarting app with Nodemon.pptx
Restarting app with Nodemon.pptx
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

JSON-Optimized 40-char title

  • 2. What is JSON? Java Script Object Notation, or JSON, is a lightweight data format that has become the defacto standard for the web. JSON can be represented as either a list of values, e.g. an Array, or a hash of properties and values, e.g. an Object. Array, Object [ a, m, y ] { name : value }
  • 3. • // a JSON array ["one", "two", "three"] // a JSON object { "one": 1, // name : “Mukesh” "two": 2, "three": 3 } Format of Node.js Object: JSON- object • Create an Object of student: var student = { Name: "Amit", Branch:"BCA", City: "kathmandu", Mobile: "99946730" };
  • 4. Encoding and Decoding JavaScript provides 2 methods for encoding data structures to JSON and encoding JSON back to JavaScript objects and arrays. They are both available on the JSON object that is available in the global scope. JSON.stringify takes a JavaScript object or array and returns a serialized string in the JSON format.
  • 5. const data = { name: 'John Doe', age: 32, title: 'Vice President of JavaScript' }; const jsonStr = JSON.stringify(data); console.log(jsonStr); // prints '{"name":"John Doe","age":32,"title":"Vice President of JavaScript"}'
  • 6. JSON.parse takes a JSON string and decodes it to a JavaScript data structure. const jsonStr = '{"name":"John Doe","age":32,"title":"Vice President of JavaScript"}'; const data = JSON.parse(jsonStr); console.log(data.title); // prints 'Vice President of JavaScript'
  • 7. What is valid JSON? There are a few rules to remember when dealing with data in JSON format. There are several pitfall that can produce invalid JSON as well. • Empty objects and arrays are okay • Strings can contain any unicode character, this includes object properties • null is a valid JSON value on it's own • All object properties should always be double quoted • Object property values must be one of the following: String, Number, Boolean, Object, Array, null • Number values must be in decimal format, no octal or hex representations • Trailing commas on arrays are not allowed
  • 8. These are all examples of valid JSON. {"name":"John Doe","age":32,"title":"Vice President of JavaScript"} ["one", "two", "three"] // nesting valid values is okay {"names": ["John Doe", "Jane Doe"] } [ { "name": "John Doe"}, {"name": "Jane Doe"} ] {} // empty hash [] // empty list null { "key": "uFDD0" } // unicode escape codes
  • 9. These are all examples of bad JSON formatting. { name: "John Doe", 'age': 32 } // name and age should be in double quotes [32, 64, 128, 0xFFF] // hex numbers are not allowed { "name": "John Doe", "age": undefined } // undefined is an invalid value // functions and dates are not allowed { "name": "John Doe", "birthday": new Date('Fri, 26 Jan 2019 07:13:10 GMT'), "getName": function() { return this.name; }}
  • 10. Calling JSON.parse with an invalid JSON string will result in a SyntaxError being thrown. If you are not sure of the validity of your JSON data, you can anticipate errors by wrapping the call in a try/catch block. Notice that the only complex values allowed in JSON are objects and arrays. Functions, dates and other types are excluded. This may not seem to make sense at first. But remember that JSON is a data format, not a format for transferring complex JavaScript objects along with their functionality.
  • 11. Example-1 const book = { title : “Node.js Book", author : "Basarat Ali Syed" } const bookJSON = JSON.stringify(book) console.log(book) console.log(bookJSON)
  • 12. Example-2 const book = { title : "Narinder Modi", author : "xyz" } const bookJSON = JSON.stringify(book) console.log(book.title) console.log(bookJSON.title)
  • 13. Example-3 const book = { title : "Narinder Modi", author : "xyz" } const bookJSON = JSON.stringify(book) console.log(book.title) console.log(bookJSON.title) const bookObj = JSON.parse(bookJSON) console.log(bookObj.title)
  • 14. Example-4 const fs = require("fs") const book = { title : "Narinder Modi", author : "xyz" } const bookJSON = JSON.stringify(book) console.log(book.title) console.log(bookJSON.title) const bookObj = JSON.parse(bookJSON) console.log(bookObj.title) fs.writeFileSync("myjson.json",bookJSON)
  • 15. Example-5 const fs = require("fs") //const book = { // title : "Narinder Modi", // author : "xyz" //} //const bookJSON = JSON.stringify(book) //console.log(book.title) //console.log(bookJSON.title) //const bookObj = JSON.parse(bookJSON) const dataBuffer = fs.readFileSync("myjson.json") //console.log(dataBuffer) console.log(dataBuffer.toString())
  • 16. Example-6 const fs = require("fs") //const book = { // title : "Narinder Modi", // author : "xyz" //} //const bookJSON = JSON.stringify(book) //console.log(book.title) //console.log(bookJSON.title) //const bookObj = JSON.parse(bookJSON) const dataBuffer = fs.readFileSync("myjson.json") //console.log(dataBuffer) const dataJSON = dataBuffer.toString() const bookObj = JSON.parse(dataJSON) console.log(bookObj)
  • 17. Example-7 const fs = require("fs") //const book = { // title : "Narinder Modi", // author : "xyz" //} //const bookJSON = JSON.stringify(book) //console.log(book.title) //console.log(bookJSON.title) //const bookObj = JSON.parse(bookJSON) const dataBuffer = fs.readFileSync("myjson.json") //console.log(dataBuffer) const dataJSON = dataBuffer.toString() const bookObj = JSON.parse(dataJSON) console.log(bookObj.title)
  • 18. How to read and write JSON file using Node.js ? Method 1: Using require method: The simplest method to read a JSON file is to require it in a node.js file using require() method. • const data = require('path/to/file/filename’); • Example: Create a users.json file in the same directory where index.js file present. Add following data to the JSON file. • users.json file:
  • 19. [ { "name": "John", "age": 21, "language": ["JavaScript", "PHP", "Python"] }, { "name": "Smith", "age": 25, "language": ["PHP", "Go", "JavaScript"] } ]
  • 20. Now, add the following code to your index.js file. const users = require("./users"); console.log(users); Now, run the file using the command: node index.js
  • 21. • Method 2: Using the fs module: We can also use node.js fs module to read a file. The fs module returns a file content in string format so we need to convert it into JSON format by using JSON.parse() in-built method. • Add the following code into your index.js file: • index.js file:
  • 22. const fs = require("fs"); // Read users.json file fs.readFile("users.json", function(err, data) { // Check for errors if (err) throw err; // Converting to JSON const users = JSON.parse(data); console.log(users); // Print users });
  • 23. Writing to a JSON file: We can write data into a JSON file by using the node.js fs module. We can use writeFile method to write data into a file. • Syntax: fs.writeFile("filename", data, callback);
  • 24. Example: We will add a new user to the existing JSON file, we have created in the previous example. This task will be completed in three steps: • Read the file using one of the above methods. • Add the data using .push() method. • Write the new data to the file using JSON.stringify() method to convert data into string.
  • 25. const fs = require("fs"); // STEP 1: Reading JSON file const users = require("./users"); // Defining new user let user = { name: "New User", age: 30, language: ["PHP", "Go", "JavaScript"] }; // STEP 2: Adding new data to users object users.push(user); // STEP 3: Writing to a file fs.writeFile("users.json", JSON.stringify(users), err => { // Checking for errors if (err) throw err; console.log("Done writing"); // Success });