1
resposta

Exercício 1

import 'dart:convert';

void main() {
  String responseBody = '''
  [
    {"id": 1, "name": "Celular", "price": 1200.75},
    {"id": 2, "name": "Notebook", "price": 3500.10},
    {"id": 3, "name": "Tablet", "price": 1500.00}
  ]
  ''';
  responseBody = adicionaProduto(responseBody, {'id': 4, 'name': 'PS5', 'price': 4000.00});
  print(responseBody);

}

String adicionaProduto(String produtos, Map<String, dynamic> produto) {
  List<dynamic> listaProdutos = json.decode(produtos);
  listaProdutos.add(produto);
  produtos = json.encode(listaProdutos);
  return produtos;
}
1 resposta

Oi Luís, tudo bem com você?

Seu código está correto e atende bem ao que foi pedido no exercício: ele decodifica a string JSON, adiciona o novo produto à lista e depois retransforma em string para exibir o novo catálogo.

Um ponto que pode ser interessante, caso queira se desafiar, é a validação do produto antes de adicionar. Por exemplo, você poderia verificar se o id já existe na lista para evitar duplicidade. Mas, como o foco do exercício é somente a adição, sua solução está ótima.

Valeu por compartilhar, e continue postando seus exercícios por aqui. O fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!