Since PowerShell is based on .NET and makes it easy to access .NET functionality, PowerShell can use JSON serializer that comes with .NET. The follow snippet of code shows how to deserialize a JSON string into an XML object and then how to take an XML object and serialize it to JSON;
Note that this does require .NET 3.5. However it serves to show that when you’re looking for some functionality, if you can’t find it in cmdlet or module form first, check the .NET framework next. You would be surprised what kind of cool functionality you can find in there. There’s a bit more to this story. You can use the WCF DataContractJsonSerializer to bypass XML and directly serialize/deserialize .NET types. I can’t take credit for this idea though – that was Jaykul’s.