{"id":1122,"date":"2014-10-09T23:00:51","date_gmt":"2014-10-09T20:00:51","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=1122"},"modified":"2014-10-09T20:30:02","modified_gmt":"2014-10-09T17:30:02","slug":"pass-javascript-function-via-json-pitfall-and-solution","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/","title":{"rendered":"Pass JavaScript function via JSON. Pitfall and solution."},"content":{"rendered":"<p><a href=\"http:\/\/www.json.org\/\">JSON<\/a> is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of JavaScript libraries, frameworks, plugins and whatever are configurable by options in JSON format.<\/p>\n<p>Sometimes you have to parse a JSON string (text) to get a real JavaScript object. For instance, sometimes you have to read the whole JSON structure from a file and make it available on the client-side as an JavaScript object. The JSON text should be well-formed. Passing a malformed JSON text results in a JavaScript exception being thrown.<\/p>\n<p>What does &#8220;well-formed&#8221; mean? A well-formed JSON structure consists of data types\u00a0<strong>string<\/strong>,\u00a0<strong>number<\/strong>,\u00a0<strong>object<\/strong>,\u00a0<strong>array<\/strong>,\u00a0<strong>boolean<\/strong> or\u00a0<strong>null<\/strong>. Other data types are not allowed. An example:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">{\r\n    'name': 'Max',\r\n    'address': {\r\n        'street': 'Big Avenue 5',\r\n        'zipcode': 12345,\r\n        'country': 'USA'\r\n    },\r\n    'age': 35,\r\n    'married': true,\r\n    'children': &#x5B;'Mike', 'John']\r\n}<\/pre>\n<p>You see here string values for keys &#8220;name&#8221;, &#8220;street&#8221; and &#8220;country&#8221;, number values for &#8220;zipcode&#8221; and &#8220;age&#8221;, boolean value for &#8220;married&#8221;, object for &#8220;address&#8221; and array for &#8220;children&#8221;. But what is about JavaScript functions? Some scripts allow to pass functions as values. For instance as in some chart libraries:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">{\r\n    'margin': '2px',\r\n    'colors': &#x5B;'#FFFFFF', 'CCCCCC'],\r\n    'labelFormatter': function(value, axis) {return value + ' degree';}\r\n}<\/pre>\n<p>If you try to parse this JSON text, you will face an error because\u00a0<strong>function(value, axis) {return value + &#8216; degree&#8217;;}<\/strong> is not allowed here. Try to put this structure into this\u00a0<a href=\"http:\/\/json.parser.online.fr\/\">online JSON viewer<\/a> to see that JSON format doesn&#8217;t accept functions. So, the idea is to pass the function as string:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">{\r\n    'borderWidth': '2px',\r\n    'colors': &#x5B;'#FFFFFF', 'CCCCCC'],\r\n    'labelFormatter': 'function(value, axis) {return value + ' degree';}'\r\n}<\/pre>\n<p>This syntax can be parsed. But we have another problem now. We have to make a real JavaScript function from its string representation. After trying a lot I found an easy solution. Normally, to parse a well-formed JSON string and return the resulting JavaScript object, you can use a native\u00a0<strong>JSON.parse(&#8230;)<\/strong> method (implemented in JavaScript 1.7),\u00a0<strong>JSON.parse(&#8230;)<\/strong> from\u00a0<strong>json2.js<\/strong> written by\u00a0<a href=\"https:\/\/github.com\/douglascrockford\/JSON-js\">Douglas Crockford<\/a> or the jQuery&#8217;s\u00a0<a href=\"http:\/\/api.jquery.com\/jQuery.parseJSON\/\">$.parseJSON(&#8230;)<\/a>. The jQuery&#8217;s method only expects one parameter, the JSON text:\u00a0<strong>$.parseJSON(jsonText)<\/strong>. So, you can not modify any values with it. The first two mentioned methods have two parameters<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nJSON.parse(text, reviver)\r\n <\/pre>\n<p>The second parameter is optional, but exactly this parameter will help us!\u00a0<strong>reviver<\/strong> is a function, prescribes how the value originally produced by parsing is transformed, before being returned. More precise: the\u00a0<strong>reviver<\/strong> function can filter and transform the results. It receives each of the keys and values, and its return value is used instead of the original value. If it returns what it received, then the structure is not modified. If it returns undefined then the member is deleted. An example:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">var transformed = JSON.parse('{'p': 5}', function(k, v) {if (k === '') return v; return v * 2;});\r\n\r\n\/\/ The object transformed is {p: 10}<\/pre>\n<p>In our case, the trick is to use\u00a0<strong>eval<\/strong> in the\u00a0<strong>reviver<\/strong> to replace the string value by the corresponding function object:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">var jsonText = '.....';  \/\/ got from any source\r\n\r\nvar jsonTransformed = JSON.parse(jsonText, function (key, value) {\r\n    if (value &amp;&amp; (typeof value === 'string') &amp;&amp; value.indexOf('function') === 0) {\r\n        \/\/ we can only pass a function as string in JSON ==&gt; doing a real function\r\n        eval('var jsFunc = ' + value);\r\n        return jsFunc;\r\n    }\r\n\r\n    return value;\r\n});<\/pre>\n<p>I know,\u00a0<strong>eval<\/strong> is evil, but it doesn&#8217;t hurt here. Well, who doesn&#8217;t like\u00a0<strong>eval<\/strong> there is another solution without it.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">var jsonTransformed = JSON.parse(jsonText, function (key, value) {\r\n    if (value &amp;&amp; (typeof value === 'string') &amp;&amp; value.indexOf('function') === 0) {\r\n        \/\/ we can only pass a function as string in JSON ==&gt; doing a real function\r\n        var jsFunc = new Function('return ' + value)();\r\n        return jsFunc;\r\n    }\r\n\r\n    return value;\r\n});<\/pre>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/ovaraksin.blogspot.com\/2013\/10\/pass-javascript-function-via-json.html\">Pass JavaScript function via JSON. Pitfall and solution.<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/wcg\/\">WCG partner<\/a> Oleg Varaksin at the <a href=\"http:\/\/ovaraksin.blogspot.com\/\">Thoughts on software development<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of JavaScript libraries, frameworks, plugins and whatever are configurable by options in JSON format. Sometimes you have to parse a JSON string (text) to get a real JavaScript object. &hellip;<\/p>\n","protected":false},"author":15,"featured_media":921,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[40],"class_list":["post-1122","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-json"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-09T20:00:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Oleg Varaksin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oleg Varaksin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\"},\"author\":{\"name\":\"Oleg Varaksin\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/907f82ccdf11dbd8f7b6af2c1024d712\"},\"headline\":\"Pass JavaScript function via JSON. Pitfall and solution.\",\"datePublished\":\"2014-10-09T20:00:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\"},\"wordCount\":654,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg\",\"keywords\":[\"JSON\"],\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\",\"name\":\"Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg\",\"datePublished\":\"2014-10-09T20:00:51+00:00\",\"description\":\"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Pass JavaScript function via JSON. Pitfall and solution.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/907f82ccdf11dbd8f7b6af2c1024d712\",\"name\":\"Oleg Varaksin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fda1ce47105421f7a352a13dbefec14ab59d59ffae99c6c3002e5841578979d3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fda1ce47105421f7a352a13dbefec14ab59d59ffae99c6c3002e5841578979d3?s=96&d=mm&r=g\",\"caption\":\"Oleg Varaksin\"},\"sameAs\":[\"http:\/\/ovaraksin.blogspot.com\/\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/oleg-varaksin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026","description":"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/","og_locale":"en_US","og_type":"article","og_title":"Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026","og_description":"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2014-10-09T20:00:51+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg","type":"image\/jpeg"}],"author":"Oleg Varaksin","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Oleg Varaksin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/"},"author":{"name":"Oleg Varaksin","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/907f82ccdf11dbd8f7b6af2c1024d712"},"headline":"Pass JavaScript function via JSON. Pitfall and solution.","datePublished":"2014-10-09T20:00:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/"},"wordCount":654,"commentCount":1,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg","keywords":["JSON"],"articleSection":["JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/","name":"Pass JavaScript function via JSON. Pitfall and solution. - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg","datePublished":"2014-10-09T20:00:51+00:00","description":"JSON is a lightweight data-interchange format. It is well readable and writable for humans and it is easy for machines to parse and generate. The most of","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/json-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/pass-javascript-function-via-json-pitfall-and-solution\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"Pass JavaScript function via JSON. Pitfall and solution."}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/907f82ccdf11dbd8f7b6af2c1024d712","name":"Oleg Varaksin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fda1ce47105421f7a352a13dbefec14ab59d59ffae99c6c3002e5841578979d3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fda1ce47105421f7a352a13dbefec14ab59d59ffae99c6c3002e5841578979d3?s=96&d=mm&r=g","caption":"Oleg Varaksin"},"sameAs":["http:\/\/ovaraksin.blogspot.com\/"],"url":"https:\/\/www.webcodegeeks.com\/author\/oleg-varaksin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/1122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=1122"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/1122\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/921"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=1122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=1122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=1122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}