On Monday, 26 October 2020 at 19:05:04 UTC, Vino wrote:
Hi All,
Request your help on the below on how to store the output to
a multi dimensional associative array.
Code:
import std.stdio: writeln;
import asdf: parseJson;
import std.conv: to;
void main()
{
string[int][string] aa;
string apidata = `{"items":
[
{"name":"T01","hostname":"test01","pool":"Development"}
{"name":"T02","hostname":"test02","pool":"Quality"},
{"name":"T03","hostname":"test03","pool":"Production"}
]
}`;
auto jv = parseJson(apidata);
foreach(j; jv["items"].byElement()){
aa["Name"] = j["name"].get!string("default");
i++;
}
writeln(aa);
}
Expected Output
aa["Name"] = [T01, T01, T03]
aa["Hostname"] = [test01, test02, test03]
aa["Pool"] = [Development, Quality, Production]
From,
Vino.B
Some comments:
1. You're missing a comma (,) after the first item in your apidata
2. You're creating a string[int][string] instead of
string[][string] (your expected output)
3. Where is i++ coming from?
https://run.dlang.io/is/jfPoeZ