Core JavaScript

Parsing Functions in JSON

This is an example program that shows how to parse functions in a JSON string in JavaScript.

ParseFunctionsJson.html

<!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>

ParseFunctionsJson.js

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 + "&nbsp;&nbsp;&nbsp;&nbsp;");
	  } else {
	  	sOutput += sPre+"&nbsp;&nbsp;&nbsp;&nbsp;"+typeof(qObject[sProperty])+': '+sProperty+' = '+qObject[sProperty]+'<br />';
	  }
  }
  return sPre + sOutput;
}
 

Output

 
 

© 2007–2026 XoaX.net LLC. All rights reserved.