Извлечь данные из html аттрибута
В html-аттрибуте приходят сериализованные данные. Необходимо их извлечь и декодировать для дальнейшей работы с ними. Мои попытки не увенчались успехом - на выходе получаю строку.
import 'dart:convert';
void main() {
String str =
'<App menudata="[{"id":4,"parent_id":0,"route_name":null,"element_name":null,"title":"\/admin\/support\/"}]" content="{}" route_name="" ></App>';
Pattern pattern = r'"\[.{0,}\]"';
RegExp regex = new RegExp(pattern);
str = str.replaceAll('"', '\'');
str = regex.stringMatch(str);
var decodeDate = jsonDecode(str);
print(decodeDate);
}
https://dartpad.dev/2727ebdc830a56acac6f1c82bac896d3
Ответы (1 шт):
Автор решения: MiT
→ Ссылка
У вас JSON был невалидным, исправил:
void main() {
String str =
'<App menudata="[{"id":4,"parent_id":0,"route_name":null,"element_name":null,"title":"\/admin\/support\/"}]" content="{}" route_name="" ></App>';
Pattern pattern = r'\[.{0,}\]';
RegExp regex = new RegExp(pattern);
str = str.replaceAll('"', '\"');
str = regex.stringMatch(str);
print(str);
var decodeDate = json.decode(str);
print(decodeDate.runtimeType);
}