Marzook
Marzook

Reputation: 391

how to join 2 json value in a List<String> in flutter?

i am fetching a api response from json how can i join 2 field value to a string list

  {
    "entity_id": "65",
    "user_id": "37",
    "tenancy_random_no_prefix": "C2",
    "tenancy_random_no": "10001",
    "unit_name": "1490",
    "owner_name": "Emaar",
  }
  {
    "entity_id": "66",
    "user_id": "37",
    "tenancy_random_no_prefix": "C2",
    "tenancy_random_no": "10002",
    "unit_name": "1490",
    "owner_name": "arham",
  }

how to get a List = [owner_name+tenancy_random_no]

which will come like this

['Emaar10001','arham10002']

Upvotes: 1

Views: 450

Answers (2)

campovski
campovski

Reputation: 3163

Your API response contains a list of maps from string to dynamic, so List<Map<String, dynamic>>. You can use functional programming technique very easily here using map function like in the first solution. Alternatively, you can also use forEach or classical for-in loop, depending on your preference. All solutions are completely explanatory by themselves and by checking the used functions' docs if necessary.

final apiResponse = [
  {
    "entity_id": "65",
    "user_id": "37",
    "tenancy_random_no_prefix": "C2",
    "tenancy_random_no": "10001",
    "unit_name": "1490",
    "owner_name": "Emaar",
  },
  {
    "entity_id": "66",
    "user_id": "37",
    "tenancy_random_no_prefix": "C2",
    "tenancy_random_no": "10002",
    "unit_name": "1490",
    "owner_name": "arham",
  }
];

// Functional with map
final fsolution = apiResponse.map((Map<String, dynamic> m) => "${m['owner_name']}${m['tenancy_random_no']}").toList();

// Functional with forEach
final fsolution2 = <String>[];
apiResponse.forEach((Map<String, dynamic> m) => fsolution2.add("${m['owner_name']}${m['tenancy_random_no']}"));

// Iterative
final isolution = <String>[];
for (final m in apiResponse) {
  isolution.add("${m['owner_name']}${m['tenancy_random_no']}");
}

Upvotes: 3

Owczar
Owczar

Reputation: 2593

  final source = [
    {
      "entity_id": "65",
      "user_id": "37",
      "tenancy_random_no_prefix": "C2",
      "tenancy_random_no": "10001",
      "unit_name": "1490",
      "owner_name": "Emaar",
    },
    {
      "entity_id": "66",
      "user_id": "37",
      "tenancy_random_no_prefix": "C2",
      "tenancy_random_no": "10002",
      "unit_name": "1490",
      "owner_name": "arham",
    }
  ];

  var result = [];
  for (var entity in source) {
    result.add(['${entity['owner_name']} ${entity['tenancy_random_no']}']);
  }
  print(result);

Upvotes: 2

Related Questions