1
+ // JSON(JavaScript Object Notation)
2
+ // Data format for exchanging data between systems running on different technology
3
+ /* এর মানে হচ্ছে আমাদের যখন দুইটি ভিন্ন সিস্টেম লাইক দুটি ওয়েবসাইট এর মধ্যে ডাটা এক্সচেঞ্জ করলে দুটিতে সাপোর্ট করে এরকম একটা ডাটা ফরমেট লাগে। আর সেটি হচ্ছে জেসন ডাটা ফরমেট। xml এর সাহায্যেও এটি করা যাই। তবে জেসন বেশি সহজ। পাইথন, পিএইচপি, জাভাস্ক্রিপ্ট, জাভাতে জেসন ব্যবহার করা যায়। */
4
+
5
+ // Has similarity with JavaScript Object
6
+ // Properties are wrapped with " "
7
+ // JavaScript Object:
8
+ //{name: "Abdullah", age:22, hometown:"Dhaka"}
9
+ // JSON Data:
10
+ // {"name":"Abdullah", "age":22, "hometown":"Dhaka"}
11
+
12
+
13
+ // JavaScript Object
14
+ let students = {
15
+ name : "Abdullah" ,
16
+ age : 22 ,
17
+ homeTow : "Dhaka"
18
+ }
19
+
20
+
21
+ // JSON Object
22
+ let students_json = {
23
+ "name" : "Abdullah" ,
24
+ "age" : 22 ,
25
+ "homeTown" : "Dhaka"
26
+ }
27
+
28
+
29
+ console . log ( students ) ;
30
+ console . log ( students_json ) ;
31
+
32
+
33
+ // JavaScript Object to JSon Object JSON.stringify(js_ob)
34
+ students_json = JSON . stringify ( students ) ;
35
+ console . log ( students_json ) ;
36
+
37
+
38
+ // JSON object to js Object JSON.parse(json_obj)
39
+ students = JSON . parse ( students_json ) ;
40
+ console . log ( students ) ;
41
+
42
+ //Json Validator https://jsonlint.com/
43
+
44
+ // Json Support DataTypes:
45
+ //String
46
+ // Numbers
47
+ // Object(JSON Object)
48
+ // array
49
+ // boolean
50
+ // null
51
+
52
+ // JSON Does not support Date, undefined, and function
53
+
54
+
55
+ var person = {
56
+ name : "Abdullah" ,
57
+ age : 25 ,
58
+ // dob: 1998-04-13,
59
+ married : false ,
60
+ test : null ,
61
+ test_undefined : undefined ,
62
+ greet : function ( ) {
63
+ console . log ( `Hello, ${ person . name } ` ) ;
64
+ }
65
+ }
66
+
67
+ // if we convert it test_undefined, dob and greet function convert have some error
68
+ let json_obj = JSON . stringify ( person ) ;
69
+ console . log ( json_obj ) ;
70
+
71
+
72
+ var person = {
73
+ name : "Abdullah" ,
74
+ age : 25 ,
75
+ dob : "1998-04-13" ,
76
+ married : false ,
77
+ test : null ,
78
+ test_undefined : undefined ,
79
+ arr : [ 1 , 32 , 34 , 23 , 4 ] ,
80
+ pdetails : {
81
+ parentName : "Abdur Rahman" ,
82
+ age : 60 ,
83
+ homeTown : "Cox's Bazar"
84
+ }
85
+ }
86
+
87
+
88
+ json_obj = JSON . stringify ( person ) ;
89
+ console . log ( json_obj ) ;
90
+
91
+
92
+ // If we want to write json object in javascript, javascript treat it as js object
93
+ person = {
94
+ name : "Abdullah" ,
95
+ age : 25 ,
96
+ dob : "1998-04-13" ,
97
+ married : false ,
98
+ test : null ,
99
+ arr : [ 1 , 32 , 34 , 23 , 4 ] ,
100
+ pdetails : {
101
+ parentName : "Abdur Rahman" ,
102
+ age : 60 ,
103
+ homeTown : "Cox's Bazar"
104
+ }
105
+ }
106
+
107
+ let person1 = {
108
+ "name" : "Abdullah" ,
109
+ "age" : 25 ,
110
+ "dob" : "1998-04-13" ,
111
+ "married" : false ,
112
+ "test" : null ,
113
+ "arr" : [ 1 , 32 , 34 , 23 , 4 ] ,
114
+ "pdetails" : {
115
+ parentName : "Abdur Rahman" ,
116
+ age : 60 ,
117
+ homeTown : "Cox's Bazar"
118
+ }
119
+ }
120
+ console . log ( person ) ;
121
+ console . log ( person1 ) ;
122
+
123
+ // person1 = JSON.parse(person1); // show error because of js treat it as js object
124
+ //If convert Javascript write JSON to JSON object we can first convert it to JSON object then javascript object
125
+ person1 = JSON . stringify ( person1 ) ;
126
+ person1 = JSON . parse ( person1 ) ;
127
+ console . log ( person1 ) ;
128
+
129
+
130
+ //Code for fetch json data from server or external file
131
+ var xmlhttp = new XMLHttpRequest ( ) ;
132
+ xmlhttp . onreadystatechange = function ( ) {
133
+ if ( this . readyState == 4 && this . status == 200 ) {
134
+ var data = this . responseText ;
135
+ jsonData ( data ) ;
136
+ }
137
+ } ;
138
+
139
+ xmlhttp . open ( "GET" , "data.json" , true ) ;
140
+ xmlhttp . send ( ) ;
141
+
142
+ function jsonData ( data ) {
143
+
144
+ let jsObjets = JSON . parse ( data ) ;
145
+
146
+
147
+
148
+ for ( json_obj in jsObjets ) {
149
+ let arr = jsObjets [ `${ json_obj } ` ] ;
150
+
151
+ for ( eacindex in arr ) {
152
+ eachOb = arr [ eacindex ] ;
153
+ for ( valueindex in eachOb ) {
154
+ console . log ( eachOb [ `${ valueindex } ` ] ) ;
155
+ }
156
+ }
157
+ }
158
+
159
+ }
0 commit comments