У меня естьстранность использованием newtonsoft json.net с PowerShell
function Foo($a, $b)
{
$o = @{}
$o.A = $a
$o.B = $b
$post = @{}
$post.X="x"
$post.entity =$o
$newton::SerializeObject($post)
}
затем сделать
foo "a" "b"
я
Exception calling "SerializeObject" with "1" argument(s): "Self referencing loop detected for property 'Value' with type 'System.Management.Automation.PSParameterizedProperty'. Path 'entity.Members[0]'."
однако
function Foo2($o)
{
$post = @{}
$post.X="x"
$post.entity =$o
$newton::SerializeObject($post)
}
foo2 @{a="a"; b="b"}
отлично работает. Также
function foo3($a, $b)
{
$o = @{}
$o.A = $a
$o.B = $b
$newton::SerializeObject($o)
}
foo3 "a" "b"
работает, но
foo3 "a" 1
терпит неудачу
Последнее может быть сделано, чтобы работать, делая
$o.B= [Int32]::Parse($b.Tostring())
Что все это кажется очень странным
PowerShell v2 на окно s 7, json.net 4.4.5
Это интересный набор наблюдений, но я не уверен, каков ваш вопрос. Чего вы пытаетесь достичь? –
Я почти уверен, что мой ответ на самом деле разрешил вашу проблему, не требуя изменений в библиотеке/и т. Д. Но я не видел комментариев по моему ответу и ни одного задания на мой ответ. – Peter