Flutter中如何将字符串转为列表并获取列表长度?
在Flutter中将JSON字符串转为列表并获取长度的正确方法
你遇到的问题核心是json.decode返回的是dynamic类型,虽然能通过索引访问元素,但为了安全调用List的方法(比如获取长度),建议显式将其转换为List类型。
修正后的代码示例:
import 'dart:convert'; void main() { final String listStr = '["a", "b", "c", "d"]'; // 显式转换为字符串列表(如果确定元素都是字符串) final List<String> finalList = List<String>.from(json.decode(listStr)); print(finalList); // 输出完整列表:[a, b, c, d] print(finalList.length); // 输出列表长度:4 }
如果不确定JSON数组里的元素类型,也可以转换为List<dynamic>:
final List<dynamic> finalList = json.decode(listStr) as List<dynamic>;
这样转换后,你不仅能直接打印完整列表,还能正常调用length属性获取列表长度。另外,显式类型转换能帮你提前发现潜在问题(比如如果输入的JSON字符串不是数组格式,转换时会抛出错误,方便排查)。
内容的提问来源于stack exchange,提问作者My Car
相关产品推荐
相关产品推荐

