как преобразовать строку в список в dart? строка преобразования exapmle`»[«1», «2», «3», «4»]»` чтобы перечислить » [1,2,3,4]`

#dart

Вопрос:

Я хочу преобразовать строку "["1", "2", "3", "4"]" в список [1,2,3,4] на языке Dart .

Комментарии:

1. Что ты сам пробовал? Какие у вас проблемы с этим решением? Возможно, мы сможем помочь вам решить эти проблемы.

Ответ №1:

Попробуйте вставить это на DartPad:

 import 'dart:convert';

final list = '"["1", "2", "3", "4"]"';

void main() {
  print(jsonDecode(list.replaceAll('"', '')));
}
 

Если ваш список поступает непосредственно из API, вам не нужны replaceAll методы.

Ответ №2:

Неясно, нужен ли вам список строк или список целых чисел. Или есть ли более общая проблема, которую вы пытаетесь решить, а не просто возвращаете литерал списка [1, 2, 3, 4] .

Самый простой подход-это

 import "dart:convert";
  ...
  var stringList = jsonDecode(string);
 

что даст вам список строк.
Затем вы можете преобразовать это в числа, используя:

   var numList = [for (var v in stringList) int.parse(v)];
 

или

   var numList = stringList.map((s) => int.parse(s)).toList();
 

Комментарии:

1. jsonDecode получает необработанное исключение ошибки: введите ‘(Строка, {int? радиус, ((Строка) => int)? onError}) => int’ не является подтипом типа ‘(динамический) =>> динамический’ типа ‘f’