-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathBuild Json.ps1
More file actions
73 lines (47 loc) · 1.21 KB
/
Build Json.ps1
File metadata and controls
73 lines (47 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#Simple JSON
[hashtable]$body = @{}
$Body.givenName = "Michael"
$Body.surname = "Seidl"
$Body.fileAs = "Michael Seidl"
$Json = $body | ConvertTo-Json
$Json
#String Array JSON
[hashtable]$body = @{}
$Body.givenName = "Michael"
$Body.surname = "Seidl"
$Body.fileAs = "Michael Seidl"
$Body.businessPhones = @(
"0664 1234567"
)
$Json = $body | ConvertTo-Json
$Json
#Complex Array JSON
[hashtable]$body = @{}
$Body.givenName = "Michael"
$Body.surname = "Seidl"
$Body.fileAs = "Michael Seidl"
$Body.emailAddresses = @([ordered]@{
address = "michael.seidl@au2mator.com"; name = "Michael Seidl"
})
$Json = $body | ConvertTo-Json
$Json
#Batch Request JSON
$i=0
[hashtable]$Array = @{}
foreach ($User in $Users) #This is an example Array with no data
{
$i++
[hashtable]$body = @{}
$Body.givenName = "$($User.gn)"
$Body.surname = "$($User.sn)"
$Body.fileAs = "$($User.gn) $($User.sn)"
$Array.requests += @([ordered]@{
id = "$i";
method = "POST"
url = "/url/"
body = $Body
headers = @{"Content-Type" = "application/json; charset=utf-8" }
})
}
$BatchJson = $Array | ConvertTo-Json -Depth 10
$BatchJson