Flutter Json、List、Map互转

3,710 阅读1分钟

Flutter Json转List、Map非常简单,我们可以通过dart:convert中内置的JSON解码器json.decode() 来实现

Json转List

//一个JSON格式的字符串
String jsonStr = '[{"name":"张三"},{"name":"李四"}]';
//将JSON字符串转为List
List list = json.decode(jsonStr);
//输出第一个用户的姓名
print(list[0]["name"]);

List转Json

String jsonStringA = json.encode(list);
print(jsonStringA);

Json转Map

//一个JSON格式的字符串
String jsonStr = '{"name": "王五","address": "北京市东城区"}';
//将JSON字符串转为Map
Map<String, dynamic> map = json.decode(jsonStr);
//输出
print('姓名: ${map['name']}');
print('地址: ${map['address']}');

Map转Json

String jsonStringB = json.encode(map);
print(jsonStringB);

String 转List

// 去掉首尾的方括号并使用逗号分隔字符串
   
String getScenePresetsList = "["null","null","null","null","null","null"]"
String strippedInput = getScenePresetsList.substring(1, getScenePresetsList.length - 1);
List<String> stringList = strippedInput.split(', ');

// 创建一个新的固定长度为6的列表,将值填充到相应位置
List<String> sceneMemoryList = List<String>.filled(6, "null");
for (int i = 0; i < stringList.length; i++) {
      sceneMemoryList[i] = stringList[i].trim();
}

原文链接、若侵权请联系作者删除