Json 如何从响应体获取令牌值?
我试图从response.body获取令牌值,并将其存储在共享首选项中 以下是我得到的JSON响应:Json 如何从响应体获取令牌值?,json,flutter,dart,Json,Flutter,Dart,我试图从response.body获取令牌值,并将其存储在共享首选项中 以下是我得到的JSON响应: {"meta":{"error":false,"message":"","statusCode":200},"response":{"token":"JhbGciOiJIUzI1NiJ9.MiOiJodHRwczovL3N0Z62Q_NQJcK0dFCKiUOsl-k","user":{"id":12,"name":"suuu","firstName":"sss","lastName":"ss"
{"meta":{"error":false,"message":"","statusCode":200},"response":{"token":"JhbGciOiJIUzI1NiJ9.MiOiJodHRwczovL3N0Z62Q_NQJcK0dFCKiUOsl-k","user":{"id":12,"name":"suuu","firstName":"sss","lastName":"ss","icNumber":null,"email":"wew@example.com","description":"Retails Test","gender":"Male","phoneNumber":"0123456789","website":"retailsexample.com","createdAt":"2017-09-15 11:27:42","updatedAt":"2019-08-21 16:08:32","oldEmailData":null,"profilePictures":[{"width":795,"height":800
我试图像这样打印令牌,但它显示空结果:
print('access token is -> ${json.decode(response.body)[ 'token']}');
所以我有这个代码来获取和存储令牌:
if(request.statusCode == 200) {
jsonResponse = json.decode(response.body);
if(jsonResponse != null) {
setState(() {
_isLoading = false;
});
sharedPreferences.setString("token", jsonResponse['token']);
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (BuildContext context) => MainPage()), (Route<dynamic> route) => false);
}
if(request.statusCode==200){
jsonResponse=json.decode(response.body);
if(jsonResponse!=null){
设置状态(){
_isLoading=false;
});
setString(“token”,jsonResponse['token']);
Navigator.of(context).pushandremoveintil(MaterialPageRoute(builder:(BuildContext context)=>MainPage(),(Route-Route)=>false);
}
那么,如何从response.body获取令牌呢?下面的一行将令牌放入字符串变量中:
String token = jsonResponse['response']['token']
在代码中,只需替换
sharedPreferences.setString("token", jsonResponse['token'])
与
sharedPreferences.setString("token", jsonResponse['response']['token'])