Takes a JSON object, as a string, to convert to query string keys.
Access
public static
Parameters
Parameter |
Type |
Required |
Description |
|---|---|---|---|
|
|
Required |
A JSON object. The JSON string should use canonical rules (e.g., double quotes, quoted keys) as is required by PHP’s |
|
|
|
Optional |
The name of the “member” property that AWS uses for lists in certain services. Defaults to an empty string. |
|
|
|
Optional |
The default key to use when the value for |
Returns
Type |
Description |
|---|---|
|
The option group parameters to merge into another method’s |
Examples
Convert a JSON object into a parameter list.
// Test data
$json = '{
"IpPermissions": [
{
"IpProtocol": "tcp",
"FromPort": 3023,
"ToPort": 3024,
"Groups": [
{ "UserId": "user1", "GroupName": "group1" },
{ "UserId": "user2", "GroupName": "group2" }
],
"IpRanges": [
{ "CidrIp": "192.168.0.1" },
{ "CidrIp": "192.168.0.2" }
]
},
{
"IpProtocol": "tcp",
"FromPort": 3023,
"ToPort": 3024,
"Groups": [
{ "UserId": "user1", "GroupName": "group1" },
{ "UserId": "user2", "GroupName": "group2" }
],
"IpRanges": [
{ "CidrIp": "192.168.0.1" },
{ "CidrIp": "192.168.0.2" }
]
}
]
}';
$data = CFComplexType::json($json);
// Success?
var_dump($data);
Result:
array(18) {
["IpPermissions.1.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.1.FromPort"]=>
int(3023)
["IpPermissions.1.ToPort"]=>
int(3024)
["IpPermissions.1.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.1.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.1.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.1.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.1.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.1.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
["IpPermissions.2.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.2.FromPort"]=>
int(3023)
["IpPermissions.2.ToPort"]=>
int(3024)
["IpPermissions.2.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.2.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.2.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.2.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.2.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.2.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
}
Source
Method defined in utilities/complextype.class.php | Toggle source view (4 lines) | View on GitHub

