Tools, FAQ, Tutorials:
JSON-parse-Transformed.html - JSON.parse() Value Transformed
How to write a reviver function to transform values while the JSON.parse() function is parsing the JSON text string?
✍: FYIcenter.com
Below is a good example on using a reviver function with the JSON.parse() call
to transform parsed JSON element values:
<!-- JSON-parse-Transformed.html
Copyright (c) FYIcenter.com
-->
<html>
<body>
<script type="text/javascript">
function transformer(key, value) {
if (key == "age") {
return undefined;
} else if (key == "group" && value==null) {
return "Guest";
} else {
return value;
}
}
function parser(str) {
document.write("\njson = "+str+"\n");
var obj = JSON.parse(str,transformer);
for (var prop in obj) {
document.write(`obj.${prop} = ${obj[prop]}\n`);
}
}
document.write("<p>JSON.parse() Reviver to Transform Values:</p>");
document.write("<pre>");
parser('{"name": "Joe", "age": 25, "group": null}');
parser('{"name": "Jay", "age": 55, "group": "VIP"}');
parser('{"name": "Kim", "age": 30, "group": "Host"}');
document.write("</pre>");
</script>
</body>
</html>
The transformer() is used as the reviver function in the JSON.parse() call to remove the "age" name value pairs, and to provide a default value "Guest" to the "group" name value pairs.
Open the above code in a Web browser. You see the following output:
JSON.parse() Reviver to Transform Values:
json = {"name": "Joe", "age": 25, "group": null}
obj.name = Joe
obj.group = Guest
json = {"name": "Jay", "age": 55, "group": "VIP"}
obj.name = Jay
obj.group = VIP
json = {"name": "Kim", "age": 30, "group": "Host"}
obj.name = Kim
obj.group = Host
⇒ JSON.stringify() Function in JavaScript
2017-09-08, ∼3003🔥, 0💬
Popular Posts:
How to use the Atom Online Validator at w3.org? w3.org feed validation service is provided at http:/...
How to start Visual Studio Command Prompt? I have Visual Studio 2017 Community version with Visual C...
How to use 'choose ... when ..." policy statements to control execution flows? If you want to contro...
How To Merge Cells in a Column? If you want to merge multiple cells vertically in a row, you need to...
What are "*..." and "**..." Wildcard Parameters in Function Definitions? If you want to define a fun...