LitJSON/litjson

[LitJSON.JsonMapper]::ToObject Error in Powershell

darkquasar opened this issue · 4 comments

Essentially, you can't use [LitJSON.JsonMapper]::ToObject($WhatEverPSObject) in Powershell from v2 to v5. We get error:

format-default : The JsonData instance has to be initialized first
    + CategoryInfo          : NotSpecified: (:) [format-default], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.FormatDefaultCommand

This has been raised 6 years ago here: https://stackoverflow.com/questions/16799634/litjson-error-in-powershell

Regards

I will take this

This is definitely an issue with Powershell. Powershell seems to be calling GetEnumerator () for every JsonData instance regardless if it's actually enumerable. I don't know how to fix this without rewriting most of the program.

So see if it's even worth the effort what's the use case for LitJson that PowerShell built-in ConvertFrom-Json and ConvertTo-Json doesn't solve?

The use case is simple: to be able to do the same thing ConvertFrom-Json and ConvertTo-Json does but in very old systems that only support Powershell V2 and don't have the necessary modules to even load the V2 version of it like this one: https://stackoverflow.com/questions/28077854/powershell-2-0-convertfrom-json-and-convertto-json-implementation

I've encountered systems where nothing but LitJSON would work. OFC, this is not a very compelling argument in favor of spending dev time on this, but it depends on the reasonable expectations that old systems are still around :)