{"version":"1.0","provider_name":"Visual Studio Blog","provider_url":"https:\/\/devblogs.microsoft.com\/visualstudio","author_name":"Mads Kristensen","author_url":"https:\/\/devblogs.microsoft.com\/visualstudio\/author\/madsk\/","title":"Using Newtonsoft.Json in a Visual Studio extension - Visual Studio Blog","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"3KyFkl13Ah\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/using-newtonsoft-json-in-a-visual-studio-extension\/\">Using Newtonsoft.Json in a Visual Studio extension<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/using-newtonsoft-json-in-a-visual-studio-extension\/embed\/#?secret=3KyFkl13Ah\" width=\"600\" height=\"338\" title=\"&#8220;Using Newtonsoft.Json in a Visual Studio extension&#8221; &#8212; Visual Studio Blog\" data-secret=\"3KyFkl13Ah\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/visualstudio\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2019\/03\/newtonsoft.json_-2.png","thumbnail_width":800,"thumbnail_height":519,"description":"Visual Studio ships with Newtonsoft.Json and extension authors can use it too. However, it can be confusing to understand what version to use, how binding redirects work and whether to ship Newtonsoft.Json in the extension itself. This post helps to clarify how it all works."}