【问题标题】:How to get the token value from response body?如何从响应正文中获取令牌值?
【发布时间】:2019-08-30 03:22:09
【问题描述】:

我尝试从 response.body 获取令牌值并存储在共享首选项中。

这是我得到的 JSON 响应:

{"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);
  }

那么,如何从 response.body 中获取令牌?

【问题讨论】:

    标签: json flutter dart


    【解决方案1】:

    下面的代码会将令牌放入字符串变量中:

    String token = jsonResponse['response']['token']
    

    在您的代码中,只需替换

    sharedPreferences.setString("token", jsonResponse['token'])
    

    sharedPreferences.setString("token", jsonResponse['response']['token'])
    

    【讨论】:

      猜你喜欢
      • 2020-01-24
      • 2018-02-08
      • 2021-04-20
      • 2018-12-30
      • 2018-07-09
      • 2017-12-30
      • 1970-01-01
      • 2017-04-10
      • 2019-06-10
      相关资源
      最近更新 更多