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, ∼3507🔥, 0💬
Popular Posts:
FYIcenter.com Online Tools: FYIcenter JSON Validator and Formatter FYIcenter JSON to XML Converter F...
Where to find tutorials on Python programming language? I want to learn Python. Here is a large coll...
How To Copy Array Values to a List of Variables in PHP? If you want copy all values of an array to a...
How To Merge Cells in a Column? If you want to merge multiple cells vertically in a row, you need to...
How to start Visual Studio Command Prompt? I have Visual Studio 2017 Community version with Visual C...