如何将Dart中encode方法的返回结果改写为直接字符串字面量
问题解答
原ProfileData.encode方法的作用是把传入的ProfileData列表序列化为标准JSON字符串,对应你给出的两个默认实例,直接替换为对应JSON字符串字面量即可,改写后的代码如下:
String favorites = (prefs.getString('favorites') ?? '[{"id":"id1","photo":"photo1","text":"text data 1"},{"id":"id2","photo":"photo2","text":"text data 2"}]');
注意事项
- 如果你担心手动拼写JSON出错,可以先运行一次原代码,打印
ProfileData.encode的返回值,直接复制输出的字符串即可保证完全一致 - 后续如果默认初始化的
ProfileData数据有调整,需要同步更新这个字符串字面量的内容 - Dart语法支持用单引号包裹JSON字符串,内部的JSON字段双引号不需要额外转义,符合语法规范
内容的提问来源于stack exchange,提问作者rozerro
相关产品推荐
相关产品推荐

