-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathstringifyJSON.js
More file actions
69 lines (64 loc) · 1.85 KB
/
stringifyJSON.js
File metadata and controls
69 lines (64 loc) · 1.85 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Same data for stringifyJSON
var myObj = {
name: "Patrick",
address: {
street: {
number: "559",
streetName: "Lincoln Ave."
},
city: "Alameda",
state: "CA",
zip: "94501"
},
phone: "310-351-4050",
hobbies: ["scuba", "poker", "comedy"],
pets: ['Bixie', 'Coookie'],
age: 57
}
// "{'name':'Patrick',address{'street'}
function stringifyJSON(obj) {
var result = "{";
function buildString(obj) {
for (var key in obj) {
if (Array.isArray(obj[key])) {
result += "'" + key + "':" + "[";
for (var i=0; i<obj[key].length; i++) {
if (typeof obj[key][i] == 'object') {
buildString(obj[key][i]);
} else {
result += "'" + obj[key][i] + "',";
}
}
result = result.slice(0,result.length-1) + "],";
} else if (typeof obj[key] == 'object') {
result += "'" + key + "':" + "{";
buildString(obj[key]);
result = result.slice(0,result.length-1) + "},";
} else {
result += "'" + key + "':'" + obj[key] + "',";
}
}
}
buildString(obj);
result = result.slice(0,result.length-1) + "}";
return result;
}
// Sample data for parseJSON
var str = "{'name':'Patrick','address':{'street':{'number':'559','streetName':'Lincoln Ave.'},'city':'Alameda','state':'CA','zip':'94501'},'phone':'310-351-4050','hobbies':['scuba','poker','comedy'],'pets':['Bixie','Coookie'],'age':'57'}"
function parseJSON(str) {
// Your code goes here
}
function getElementsByClassName(className) {
var result = [];
function getElements(node) {
if (node.classList && node.classList.contains(className)) {
result.push(node);
}
var childElements = node.children;
for (var i = 0; i < childElements.length; i++) {
getElements(childElements[i]);
}
}
getElements(document.body);
return result;
};