Foreach output into a multi dimensional associative array.
Imperatorn
johan_forsberg_86 at hotmail.com
Tue Oct 27 08:00:55 UTC 2020
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
More information about the Digitalmars-d-learn
mailing list