<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Convert between PowerShell and JSON</title><link>http://powershelljson.codeplex.com/Project/ProjectRss.aspx</link><description>ConvertTo-JSON and ConvertFrom-JSON. Take a JSON string and crank out PowerShell Objects. Got PowerShell Objects, generate JSON strings form them.   </description><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;That site is now in my Google Reader. Awesome stuff.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TBH, never worked with WPF before. When I said &amp;quot;to see if I still know how C# works&amp;quot;, I meant that it's been summer vacation. Back to college now :P&lt;/p&gt;&lt;/div&gt;</description><author>WebDevHobo</author><pubDate>Tue, 22 Sep 2009 23:47:06 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922114706P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;http://dougfinke.com/blog/index.php/2009/09/02/how-to-host-powershell-in-a-wpf-application/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Tue, 22 Sep 2009 23:24:12 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922112412P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Sadly not, what you see are 2 textarea's.&lt;/p&gt;
&lt;p&gt;Enter JSON on the left, hit transform and the Powershell code shows up on the right.&lt;/p&gt;
&lt;p&gt;I made this up real quick with VS2008.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hosting Powershell inside the winform? To be honest, I would have never even considered such a thing to be possible.&lt;/p&gt;&lt;/div&gt;</description><author>WebDevHobo</author><pubDate>Tue, 22 Sep 2009 22:03:45 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922100345P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Nice. Are you hosting PowerShell in the Winform app?&lt;/p&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Tue, 22 Sep 2009 21:09:32 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922090932P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thanks for the quick reply.&lt;/p&gt;
&lt;p&gt;By the way, I downloaded the source files and made a small app to test if I still know how C# works :P&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://i637.photobucket.com/albums/uu91/Vordreller/JSON-Powershell.png"&gt;http://i637.photobucket.com/albums/uu91/Vordreller/JSON-Powershell.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Insert JSON left, get Powershell right. Pretty fun.&lt;/p&gt;&lt;/div&gt;</description><author>WebDevHobo</author><pubDate>Tue, 22 Sep 2009 20:57:04 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922085704P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Great question. I wrote the two many months apart.&lt;/p&gt;
&lt;p&gt;My need for ConvertFrom did not require me to pipe data into it.&lt;/p&gt;
&lt;p&gt;When I built ConvertTo it was more natural to pipe the data so I used Filter.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;hth&lt;/p&gt;
&lt;p&gt;Doug&lt;/p&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Tue, 22 Sep 2009 19:43:42 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922074342P</guid></item><item><title>New Post: Question on the ps1 files</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=69734</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I'm pretty new to Powershell, but I'm gonna ask anyway: the ConvertFrom file declares itself a function, while the ConvertTo file declares itself a filter. Why are they not both filters or functions?&lt;/p&gt;&lt;/div&gt;</description><author>WebDevHobo</author><pubDate>Tue, 22 Sep 2009 15:52:45 GMT</pubDate><guid isPermaLink="false">New Post: Question on the ps1 files 20090922035245P</guid></item><item><title>Updated Wiki: Home</title><link>http://powershelljson.codeplex.com/Wiki/View.aspx?title=Home&amp;version=26</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;h4&gt;ConvertFrom-JSON&lt;/h4&gt;&lt;pre&gt;
PS C:\&amp;gt; '[{&amp;quot;title&amp;quot;:&amp;quot;PowerShell&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Test&amp;quot;}]' | ConvertFrom-JSON

title
-----
PowerShell
Test
&lt;/pre&gt;
&lt;h4&gt;ConvertTo-JSON&lt;/h4&gt;&lt;pre&gt;
(New-Object PSObject |
   Add-Member -PassThru NoteProperty Name 'John Doe' |
   Add-Member -PassThru NoteProperty Age 10          |
   Add-Member -PassThru NoteProperty Amount 10.1     |
   Add-Member -PassThru NoteProperty MixedItems (1,2,3,&amp;quot;a&amp;quot;) |
   Add-Member -PassThru NoteProperty NumericItems (1,2,3) |
   Add-Member -PassThru NoteProperty StringItems (&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;)
) | ConvertTo-JSON
&lt;/pre&gt;
&lt;h4&gt;Generated JSON&lt;/h4&gt;&lt;pre&gt;
{
  &amp;quot;Age&amp;quot;: 10,
  &amp;quot;Amount&amp;quot;: 10.1,
  &amp;quot;MixedItems&amp;quot;: [1,2,3,&amp;quot;a&amp;quot;],
  &amp;quot;Name&amp;quot;: &amp;quot;John Doe&amp;quot;,
  &amp;quot;NumericItems&amp;quot;: [1,2,3],
  &amp;quot;StringItems&amp;quot;: [&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;] 
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:44:38 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090813124438A</guid></item><item><title>Updated Wiki: Home</title><link>http://powershelljson.codeplex.com/Wiki/View.aspx?title=Home&amp;version=25</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;Examples&lt;/h3&gt;&lt;h4&gt;ConvertFrom-JSON&lt;/h4&gt;&lt;pre&gt;
PS C:\&amp;gt; '[{&amp;quot;title&amp;quot;:&amp;quot;PowerShell&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Test&amp;quot;}]' | ConvertFrom-JSON

title
-----
PowerShell
Test
&lt;/pre&gt;
&lt;h4&gt;ConvertTo-JSON&lt;/h4&gt;&lt;pre&gt;
(New-Object PSObject |
   Add-Member -PassThru NoteProperty Name 'John Doe' |
   Add-Member -PassThru NoteProperty Age 10          |
   Add-Member -PassThru NoteProperty Amount 10.1     |
   Add-Member -PassThru NoteProperty MixedItems (1,2,3,&amp;quot;a&amp;quot;) |
   Add-Member -PassThru NoteProperty NumericItems (1,2,3) |
   Add-Member -PassThru NoteProperty StringItems (&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;)
) | ConvertTo-JSON
&lt;/pre&gt;
&lt;h4&gt;Generated JSON&lt;/h4&gt;&lt;pre&gt;
{
  &amp;quot;Age&amp;quot;: 10,
  &amp;quot;Amount&amp;quot;: 10.1,
  &amp;quot;MixedItems&amp;quot;: [1,2,3,&amp;quot;a&amp;quot;],
  &amp;quot;Name&amp;quot;: &amp;quot;John Doe&amp;quot;,
  &amp;quot;NumericItems&amp;quot;: [1,2,3],
  &amp;quot;StringItems&amp;quot;: [&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;] 
}
&lt;/pre&gt;
&lt;h4&gt;The Script&lt;/h4&gt;Place the script in a directory which is in your path
&lt;h4&gt;Managed DLL&lt;/h4&gt;The managed code stand alone version needs to load the dll with &lt;a href="http://powershelljson.codeplex.com/Wiki/View.aspx?title=%5breflection.assembly%5d"&gt;&amp;#91;reflection.assembly&amp;#93;&lt;/a&gt;::LoadFrom(&amp;quot;&amp;quot;) for each session&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
[void] [reflection.assembly]::loadfrom(&amp;quot;$pwd\bin\debug\PowerShellJSONParser.dll&amp;quot;)
&lt;/pre&gt;
&lt;h4&gt;The SnapIn &lt;/h4&gt;The snapin needs to be registered. This is only required once.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe $pwd\bin\Debug\PowerShellJSONParser.dll
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But&lt;/b&gt; the snapin must be added each session.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Add-PSSnapin ConvertFromJSONSnapIn
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This can be simplfied by using the &lt;a href="http://blogs.msdn.com/scshell/archive/2007/01/03/have-your-powershell-and-our-cmdlets-too.aspx" class="externalLink"&gt;Export-Console Cmdlet&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Export-Console ConvertFromJSON
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Performance&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The PowerShell script is the slowest but easiest to modify.&lt;/li&gt;
&lt;li&gt;The managed code requires re-compiliation. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:43:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090813124353A</guid></item><item><title>Updated Wiki: Home</title><link>http://powershelljson.codeplex.com/Wiki/View.aspx?title=Home&amp;version=24</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;Project Description&lt;/h3&gt;PowerShell objects from JSON data. A script, dll and snapin for deserializing JSON data into PowerShell objects.&lt;br /&gt;This project contains three approaches to &lt;i&gt;deserializing&lt;/i&gt; &lt;a href="http://www.json.org/" class="externalLink"&gt;JSON&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; formatted data into &lt;a href="http://msdn2.microsoft.com/en-us/library/system.management.automation.psobject.aspx" class="externalLink"&gt;PowerShell Objects&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;ol&gt;&lt;li&gt;A &lt;a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx" class="externalLink"&gt;PowerShell script&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The PowerShell script converted to C# and compiled as a managed DLL&lt;/li&gt;
&lt;li&gt;The managed DLL implemented as a PowerShell SnapIn&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Examples&lt;/h3&gt;&lt;h4&gt;ConvertFrom-JSON&lt;/h4&gt;&lt;pre&gt;
PS C:\&amp;gt; '[{&amp;quot;title&amp;quot;:&amp;quot;PowerShell&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Test&amp;quot;}]' | ConvertFrom-JSON

title
-----
PowerShell
Test
&lt;/pre&gt;
&lt;h4&gt;ConvertTo-JSON&lt;/h4&gt;&lt;pre&gt;
(New-Object PSObject |
   Add-Member -PassThru NoteProperty Name 'John Doe' |
   Add-Member -PassThru NoteProperty Age 10          |
   Add-Member -PassThru NoteProperty Amount 10.1     |
   Add-Member -PassThru NoteProperty MixedItems (1,2,3,&amp;quot;a&amp;quot;) |
   Add-Member -PassThru NoteProperty NumericItems (1,2,3) |
   Add-Member -PassThru NoteProperty StringItems (&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;)
) | ConvertTo-JSON
&lt;/pre&gt;
&lt;h4&gt;Generated JSON&lt;/h4&gt;&lt;pre&gt;
{
  &amp;quot;Age&amp;quot;: 10,
  &amp;quot;Amount&amp;quot;: 10.1,
  &amp;quot;MixedItems&amp;quot;: [1,2,3,&amp;quot;a&amp;quot;],
  &amp;quot;Name&amp;quot;: &amp;quot;John Doe&amp;quot;,
  &amp;quot;NumericItems&amp;quot;: [1,2,3],
  &amp;quot;StringItems&amp;quot;: [&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;] 
}
&lt;/pre&gt;
&lt;h4&gt;The Script&lt;/h4&gt;Place the script in a directory which is in your path
&lt;h4&gt;Managed DLL&lt;/h4&gt;The managed code stand alone version needs to load the dll with &lt;a href="http://powershelljson.codeplex.com/Wiki/View.aspx?title=%5breflection.assembly%5d"&gt;&amp;#91;reflection.assembly&amp;#93;&lt;/a&gt;::LoadFrom(&amp;quot;&amp;quot;) for each session&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
[void] [reflection.assembly]::loadfrom(&amp;quot;$pwd\bin\debug\PowerShellJSONParser.dll&amp;quot;)
&lt;/pre&gt;
&lt;h4&gt;The SnapIn &lt;/h4&gt;The snapin needs to be registered. This is only required once.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe $pwd\bin\Debug\PowerShellJSONParser.dll
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But&lt;/b&gt; the snapin must be added each session.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Add-PSSnapin ConvertFromJSONSnapIn
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This can be simplfied by using the &lt;a href="http://blogs.msdn.com/scshell/archive/2007/01/03/have-your-powershell-and-our-cmdlets-too.aspx" class="externalLink"&gt;Export-Console Cmdlet&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Export-Console ConvertFromJSON
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Performance&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The PowerShell script is the slowest but easiest to modify.&lt;/li&gt;
&lt;li&gt;The managed code requires re-compiliation. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:37:08 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090813123708A</guid></item><item><title>Updated Wiki: Home</title><link>http://powershelljson.codeplex.com/Wiki/View.aspx?title=Home&amp;version=23</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;Project Description&lt;/h3&gt;PowerShell objects from JSON data. A script, dll and snapin for deserializing JSON data into PowerShell objects.&lt;br /&gt;This project contains three approaches to &lt;i&gt;deserializing&lt;/i&gt; &lt;a href="http://www.json.org/" class="externalLink"&gt;JSON&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; formatted data into &lt;a href="http://msdn2.microsoft.com/en-us/library/system.management.automation.psobject.aspx" class="externalLink"&gt;PowerShell Objects&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;ol&gt;&lt;li&gt;A &lt;a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx" class="externalLink"&gt;PowerShell script&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The PowerShell script converted to C# and compiled as a managed DLL&lt;/li&gt;
&lt;li&gt;The managed DLL implemented as a PowerShell SnapIn&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Examples&lt;/h3&gt;&lt;h4&gt;ConvertFrom-JSON&lt;/h4&gt;&lt;pre&gt;
PS C:\&amp;gt; '[{&amp;quot;title&amp;quot;:&amp;quot;PowerShell&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Test&amp;quot;}]' | ConvertFrom-JSON

title
-----
PowerShell
Test
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;The Script&lt;/h4&gt;Place the script in a directory which is in your path
&lt;h4&gt;Managed DLL&lt;/h4&gt;The managed code stand alone version needs to load the dll with &lt;a href="http://powershelljson.codeplex.com/Wiki/View.aspx?title=%5breflection.assembly%5d"&gt;&amp;#91;reflection.assembly&amp;#93;&lt;/a&gt;::LoadFrom(&amp;quot;&amp;quot;) for each session&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
[void] [reflection.assembly]::loadfrom(&amp;quot;$pwd\bin\debug\PowerShellJSONParser.dll&amp;quot;)
&lt;/pre&gt;
&lt;h4&gt;The SnapIn &lt;/h4&gt;The snapin needs to be registered. This is only required once.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe $pwd\bin\Debug\PowerShellJSONParser.dll
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But&lt;/b&gt; the snapin must be added each session.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Add-PSSnapin ConvertFromJSONSnapIn
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This can be simplfied by using the &lt;a href="http://blogs.msdn.com/scshell/archive/2007/01/03/have-your-powershell-and-our-cmdlets-too.aspx" class="externalLink"&gt;Export-Console Cmdlet&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Export-Console ConvertFromJSON
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Performance&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The PowerShell script is the slowest but easiest to modify.&lt;/li&gt;
&lt;li&gt;The managed code requires re-compiliation. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:31:29 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090813123129A</guid></item><item><title>Updated Wiki: Home</title><link>http://powershelljson.codeplex.com/Wiki/View.aspx?title=Home&amp;version=22</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;Project Description&lt;/h3&gt;PowerShell objects from JSON data. A script, dll and snapin for deserializing JSON data into PowerShell objects.&lt;br /&gt;This project contains three approaches to &lt;i&gt;deserializing&lt;/i&gt; &lt;a href="http://www.json.org/" class="externalLink"&gt;JSON&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; formatted data into &lt;a href="http://msdn2.microsoft.com/en-us/library/system.management.automation.psobject.aspx" class="externalLink"&gt;PowerShell Objects&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.
&lt;ol&gt;&lt;li&gt;A &lt;a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx" class="externalLink"&gt;PowerShell script&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The PowerShell script converted to C# and compiled as a managed DLL&lt;/li&gt;
&lt;li&gt;The managed DLL implemented as a PowerShell SnapIn&lt;/li&gt;&lt;/ol&gt;

&lt;h4&gt;The Script&lt;/h4&gt;Place the script in a directory which is in your path
&lt;h4&gt;Managed DLL&lt;/h4&gt;The managed code stand alone version needs to load the dll with &lt;a href="http://powershelljson.codeplex.com/Wiki/View.aspx?title=%5breflection.assembly%5d"&gt;&amp;#91;reflection.assembly&amp;#93;&lt;/a&gt;::LoadFrom(&amp;quot;&amp;quot;) for each session&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
[void] [reflection.assembly]::loadfrom(&amp;quot;$pwd\bin\debug\PowerShellJSONParser.dll&amp;quot;)
&lt;/pre&gt;
&lt;h4&gt;The SnapIn &lt;/h4&gt;The snapin needs to be registered. This is only required once.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe $pwd\bin\Debug\PowerShellJSONParser.dll
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;But&lt;/b&gt; the snapin must be added each session.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Add-PSSnapin ConvertFromJSONSnapIn
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This can be simplfied by using the &lt;a href="http://blogs.msdn.com/scshell/archive/2007/01/03/have-your-powershell-and-our-cmdlets-too.aspx" class="externalLink"&gt;Export-Console Cmdlet&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Export-Console ConvertFromJSON
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Performance&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The PowerShell script is the slowest but easiest to modify.&lt;/li&gt;
&lt;li&gt;The managed code requires re-compiliation. &lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Examples&lt;/h3&gt;The examples are the same for each implementation. &lt;br /&gt;&lt;pre&gt;
PS C:\&amp;gt; '[{&amp;quot;title&amp;quot;:&amp;quot;PowerShell&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Test&amp;quot;}]' | Convert-FromJSON

title
-----
PowerShell
Test
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:29:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090813122953A</guid></item><item><title>Source code checked in, #36048</title><link>http://powershelljson.codeplex.com/SourceControl/changeset/view/36048</link><description></description><author>dfinke</author><pubDate>Thu, 13 Aug 2009 00:14:02 GMT</pubDate><guid isPermaLink="false">Source code checked in, #36048 20090813121402A</guid></item><item><title>Source code checked in, #35750</title><link>http://powershelljson.codeplex.com/SourceControl/changeset/view/35750</link><description></description><author>dfinke</author><pubDate>Sat, 01 Aug 2009 14:59:42 GMT</pubDate><guid isPermaLink="false">Source code checked in, #35750 20090801025942P</guid></item><item><title>New Post: Why not create the object?</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=63349</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thanks for the suggestions. I checked in the changes.&lt;/p&gt;
&lt;p&gt;IIRC my rationale for generating the new objects only was because to turn it into running objects I would only need to pipe it to ' | Invoke-Expression'.&lt;/p&gt;
&lt;p&gt;In my private testing I was saving the text output of the ConvertFrom-JSON to a file or passing it to other scripts.&lt;/p&gt;
&lt;p&gt;The changes are checked in and there is a [switch]$raw argument.&lt;/p&gt;
&lt;p&gt;By default the objects are invoked. Pass in -raw and you get the the text.&lt;/p&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Mon, 27 Jul 2009 00:19:47 GMT</pubDate><guid isPermaLink="false">New Post: Why not create the object? 20090727121947A</guid></item><item><title>Source code checked in, #35577</title><link>http://powershelljson.codeplex.com/SourceControl/changeset/view/35577</link><description>Quick test of ConvertFrom-JSON</description><author>dfinke</author><pubDate>Sun, 26 Jul 2009 15:06:54 GMT</pubDate><guid isPermaLink="false">Source code checked in, #35577 20090726030654P</guid></item><item><title>Source code checked in, #35576</title><link>http://powershelljson.codeplex.com/SourceControl/changeset/view/35576</link><description>Renamed to use standard PowerShell conventions. Changed default return to do an Invoke-Expression of the PowerShell objects from the converted JSON. Added &amp;#91;switch&amp;#93;&amp;#36;raw so </description><author>dfinke</author><pubDate>Sun, 26 Jul 2009 15:06:06 GMT</pubDate><guid isPermaLink="false">Source code checked in, #35576 20090726030606P</guid></item><item><title>Source code checked in, #35575</title><link>http://powershelljson.codeplex.com/SourceControl/changeset/view/35575</link><description>Renamed to ConvertFrom-JSON</description><author>dfinke</author><pubDate>Sun, 26 Jul 2009 15:03:59 GMT</pubDate><guid isPermaLink="false">Source code checked in, #35575 20090726030359P</guid></item><item><title>New Post: Why not create the object?</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=63349</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Good question. That was two years ago. I was just getting my feet under me with PoSh.&lt;/p&gt;
&lt;p&gt;I will have a look.&lt;/p&gt;&lt;/div&gt;</description><author>dfinke</author><pubDate>Thu, 23 Jul 2009 23:57:13 GMT</pubDate><guid isPermaLink="false">New Post: Why not create the object? 20090723115713P</guid></item><item><title>New Post: Why not create the object?</title><link>http://powershelljson.codeplex.com/Thread/View.aspx?ThreadId=63349</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Why does the script only produce the text commands needed to make the new objects? &amp;nbsp;Why not go aehad with that last step? &amp;nbsp;Just seemed an odd choice to me, and trivial to change.&lt;/p&gt;&lt;/div&gt;</description><author>halr9000</author><pubDate>Thu, 23 Jul 2009 18:05:02 GMT</pubDate><guid isPermaLink="false">New Post: Why not create the object? 20090723060502P</guid></item></channel></rss>