digitalmars.D.learn - Foreach output into a multi dimensional associative array.
- Vino (30/30) Oct 26 2020 Hi All,
- Imperatorn (7/37) Oct 27 2020 Some comments:
- Vino (3/12) Oct 28 2020 Hi,
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
Oct 26 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.BSome 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
Oct 27 2020
On Tuesday, 27 October 2020 at 08:00:55 UTC, Imperatorn wrote:On Monday, 26 October 2020 at 19:05:04 UTC, Vino wrote:Hi, Thank yu very much, your suggestion resolved my issue.[...]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
Oct 28 2020