Removind duplicates for JSON string

Vino akashvino79 at gmail.com
Sun Nov 1 09:14:35 UTC 2020


Hi All,

    Request your help on how to remove duplicates in JSON.

Code:
import asdf;
import std.algorithm : map, filter, uniq;
import std.container.array;
import std.stdio : writeln;
import std.typecons : Tuple, tuple;
import std.array;

void main() {
string apidata = `{
"items":
   [
     { "name":"DEV", "Configuration":{"type":"D1"} },
     { "name":"DEV" },
     { "name":"DEV", "Configuration":{"type":"D1"} },
     { "name":"QAS", "Configuration":{"type":"Q1"} },
     { "name":"QAS", "Configuration":{"type":"Q1"} },
     { "name":"QAS" },
     { "name":"PRD", "Configuration":{"type":"P1"} },
     { "name":"PRD", "Configuration":{"type":"P1"} },
     { "name":"PRD" }
   ]
}`;

Array!(Tuple!(string, string)) data =
           parseJson(apidata)["items"]
           .byElement
           .map!(item => tuple(
                 item["name"].get!string("default"),
                 item["Configuration","type"].get!string("default")
             ));

     writeln(data[]);
}

Output: The above code produces the below output

[
  Tuple!(string, string)("DEV", "D1"),
  Tuple!(string, string)("DEV", "default"),
  Tuple!(string, string)("DEV", "D1"),
  Tuple!(string, string)("QAS", "Q1"),
  Tuple!(string, string)("QAS", "Q1"),
  Tuple!(string, string)("QAS", "default"),
  Tuple!(string, string)("PRD", "P1"),
  Tuple!(string, string)("PRD", "P1"),
  Tuple!(string, string)("PRD", "default")
]

Required Output
[
  Tuple!(string, string)("DEV", "D1"),
  Tuple!(string, string)("QAS", "Q1"),
  Tuple!(string, string)("PRD", "P1"),
]

From,
Vino.B




More information about the Digitalmars-d-learn mailing list