Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 当我们使用安全存储时,如何从字符串中获取键值?_Flutter_Dart - Fatal编程技术网

Flutter 当我们使用安全存储时,如何从字符串中获取键值?

Flutter 当我们使用安全存储时,如何从字符串中获取键值?,flutter,dart,Flutter,Dart,我有以下字符串: String readToken = await storage.read(key: 'token'); print(readToken); 输出将是: flutter: "{\"accessToken\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImFiNWUwYzcwMjYwNWU1MjRmMmZkOTQ2NTAwMDQyZDk1MzBlZWZhYjhkYjA0ZGZjYj<…> 输出为: flutter:

我有以下字符串:

String readToken = await storage.read(key: 'token');
print(readToken);
输出将是:

flutter: "{\"accessToken\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImFiNWUwYzcwMjYwNWU1MjRmMmZkOTQ2NTAwMDQyZDk1MzBlZWZhYjhkYjA0ZGZjYj<…>
输出为:

flutter: {"accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImFiNWUwYzcwMjYwNWU1MjRmMmZkOTQ2NTAwMDQyZDk1MzBlZWZhYjhkYjA0ZGZjYjIwMWM1ZmE2NjJjOTQxNTA4OTg1MTZhZjBjNmIyYjRkIn0.eyJhdWQiOiIyIiwianRpIjoiYWI1ZTBjNzAyNjA1ZTUyNGYyZmQ5<…>

您需要对字符串进行解码以将其转换为实际地图

为此,您需要使用
dart:convert
package并执行以下操作:
json.decode(变量)


我还建议只在SecureStorage中存储令牌值,而不是整个对象。

我希望问题与如何将
accessToken
存储在安全存储中有关。你也能提供这个代码吗?
flutter: {"accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImFiNWUwYzcwMjYwNWU1MjRmMmZkOTQ2NTAwMDQyZDk1MzBlZWZhYjhkYjA0ZGZjYjIwMWM1ZmE2NjJjOTQxNTA4OTg1MTZhZjBjNmIyYjRkIn0.eyJhdWQiOiIyIiwianRpIjoiYWI1ZTBjNzAyNjA1ZTUyNGYyZmQ5<…>
String dec = decoded.replaceAll(RegExp('"'), '');

int pos = dec.indexOf(':');

final token = dec.substring(pos + 1);