This is an example program that shows how to parse functions in a JSON string in JavaScript.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>XoaX.net's Javascript</title> <!-- Supply a transparent 1x1 favicon --> <link rel="icon" href="data:,"> <script type="text/javascript" src="ParseFunctionsJson.js"></script> </head> <body onload="Initialize()"> <span id="idObject"></span> </body> </html>
function Initialize() {
const sJsonText = '{ "Website": "XoaX.net", "Discount": "function(x) {return .9*x;}", "Price": "function() {return 25.73;}" }';
const qJsonObject = JSON.parse(sJsonText);
qJsonObject.Discount = eval("("+qJsonObject.Discount+")");
qJsonObject.Price = eval("("+qJsonObject.Price+")");
document.getElementById("idObject").innerHTML = PrintAnObject("qJsonObject", qJsonObject, sPre = "");
document.getElementById("idObject").innerHTML += "Discount on $3.50 = $" + qJsonObject.Discount(3.5) + "<br />";
document.getElementById("idObject").innerHTML += "Price = $" + qJsonObject.Price() + "<br />";
}
function PrintAnObject(sName, qObject, sPre = "") {
let sOutput = typeof(qObject) + " " + qObject.constructor.name + ": " + sName + '<br />';
for (let sProperty in qObject) {
if (typeof(qObject[sProperty]) == "object") {
sOutput += PrintAnObject(sProperty, qObject[sProperty], sPre + " ");
} else {
sOutput += sPre+" "+typeof(qObject[sProperty])+': '+sProperty+' = '+qObject[sProperty]+'<br />';
}
}
return sPre + sOutput;
}
© 20072026 XoaX.net LLC. All rights reserved.