powershell - Nested array and objects are not properly converted to json -


this question has answer here:

description


using convertto-json in powershell, trying convert following object:

$richmessage = @{     attachments = @(         @{             "mrkdwn_in" = @("text"; "pretext";);             "title" = "title here";             "title_link" = "http://somelinkhere/";             "fallback" = "summary of attachment";             "text" = "message";             "color" = "red";                 })       }  write-host(convertto-json -inputobject $richmessage) 

i expected output:

{     "attachments":  [                     {                         "text":  "message",                         "fallback":  "summary of attachment",                         "mrkdwn_in":  ["text" "pretext"],                         "color":  "red",                         "title":  "title here",                         "title_link":  "http://somelinkhere/"                     }                 ] } 

but actual output is:

{     "attachments":  [                     {                         "text":  "message",                         "fallback":  "summary of attachment",                         "mrkdwn_in":  "text pretext",                         "color":  "red",                         "title":  "title here",                         "title_link":  "http://somelinkhere/"                     }                 ] } 

notes


  • i want "mrkdwn_in": "text pretext" mrkdwn_in:["text", "pretext"]
  • if take $richmessage = @{ "mrkdwn_in" = @("text"; "pretext"); } produce array expected, when array nested this: $richmessage = @{ attachments = @( @{"mrkdwn_in" = @("text"; "pretext"); } ) }; concatinates strings.
  • i'm using post rich message slack , allow mark downs in attachments. (see this link)

question


how can achieve this?

try adding array value object separately

$richmessage= $richmessage["attachments"][0]["mrkdwn_in"] = @("text", "pretext"); 

full example:

$richmessage = @{     attachments = @(         @{             "mrkdwn_in" = "";              "title" = "title here";             "title_link" = "http://somelinkhere/";             "fallback" = "summary of attachment";             "text" = "message";             "color" = "red";                 })       } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -