英文:
How to convert string from database read to List<String>
问题
我正在从我的数据库中读取数据,问题中的特定数据是一个以字符串形式记录在我的数据库中的列表,现在我试图通过将该字符串转换回List
Widget build(BuildContext context) {
return ref.watch(getDataByIdProvider(widget.ID)).when(
data: (data) => Scaffold(
body: ListView(
children: [
for (int i = 0; i < data.name.length; i++)//问题中的列表
RadioListTile(
title: Text(
data.name[i].toString(),
),
value: i,
groupValue: _selectedRadio,
onChanged: (value) {
_selectedRadio = value as int?;
}),
],
),
),
);
}
请注意,您需要确保在getDataByIdProvider(widget.ID)
返回的数据对象中有一个名为name
的列表属性,以便能够正确读取和显示数据。
英文:
I'm reading data from my db , the specific data in question is a list which was recorded as a String in my database , now i'm trying to read the data by converting the String back into a List<String> , how can i go about doing this wthe snippet of code below :
Widget build(BuildContext context) {
return ref.watch(getDataByIdProvider(widget.ID)).when(
data: (data) => Scaffold(
body: ListView(
children: [
for (int i = 0; i < data.name.length; i++)//The list in question
RadioListTile(
title: Text(
data.name[i].toString(),
),
value: i,
groupValue: _selectedRadio,
onChanged: (value) {
_selectedRadio = value as int?;
}),],
答案1
得分: 0
如果您的字符串已被逗号字符“,”分隔,您可以尝试以下方法:
Column(
children: [
...data.name.split(',').map((e) => Text(e)).toList(),
],
)
在这个代码中,我已经通过逗号字符“,”分割了我的字符串,因此Dart语言会在每个逗号字符“,”之前创建一个项目列表。您可以将Text小部件更改为您所需的内容。
英文:
if your string has been separated by ',' character, you can try this way:
Column(
children: [
...data.name.split(',').map((e) => Text(e)).toList(),
],
),
in this code, I have split my string by ',' char, so dart lang will create a list of items before each ',' char. you can turn Text widget to your desired one.
答案2
得分: 0
其中一种解决方案是使用dart:convert
中的jsonEncode
和jsonDecode
将您的列表存储为JSON字符串。
final list = ['one', 'to', 'three'];
/// 将您的列表转换为JSON字符串
final jsonString = jsonEncode(list);
/// 调用 db.save(jsonString)
/// 调用 db.get('yourJsonStringKey')
/// 将JSON字符串转换回列表
final listFromJson = jsonDecode(jsonString);
英文:
One of the solutions is to store your list as a json string using jsonEncode
and jsonDecode
from dart:convert
final list = ['one', 'to', 'three'];
/// convert your List to json string
final jsonString = jsonEncode(list);
/// Call db.save(jsonString)
/// Call db.get('yourJsonStringKey')
/// Convert json string back to List
final listFromJson = jsonDecode(jsonString);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论