flutter 小记

2019-04-10  本文已影响0人  kot_flu
Response response = await Dio().get(
        'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email&access_token=${token}');
    print(response.data);
    if(response.data != null){
      final profile = jsonDecode(response.data);  //将String 转成Map类型的json
      print(profile);
      var user = new FacebookLoginBean.fromJson(profile);
      print(user.id);
      print(user.name);
    }
Response response = await Dio().get(
          "${Constant
              .STATICURL}selectNewsList?title=$key&currentPage=$page");
      print(response);
      print(response.data);
      if (response.data != null) {
        Map map = response.data; //这种情况不用转
        PubliclistviewBean bean = new PubliclistviewBean.fromJson(map);

请求到的json 字符串要保留到sharePrefrence里面需要 使用json.encode(),避免转换的时候报错

SpUtils.save("top", json.encode(resultData.data));

如果碰到 type Future<dynamic> is not String ...map ...list ... == 需要添加await 才可以拿到数据进行转换,就不会报 Future的错误了

await SpUtils.get("toptop") as String;  

请求到的数据 ,格式是全部都有双引号的 “”,转成map ,然后转实体

Map map = response.data; //这种情况不用转
        PubliclistviewBean bean = new PubliclistviewBean.fromJson(map);

实体转map,String json = jsonEncode(bean2);
转好之后的数据是都带引号的jsonString


ttt.jpg
String json = jsonEncode(bean2);  ///传入实体对象 
    await SpUtils.save("toptop", json);  ///保存这种json格式的数据,取出来转换就不会报错了
    String toptop =  await SpUtils.get("toptop") as String;
    print("*********    toptop ********   $toptop");
    Map mm = jsonDecode(toptop); ///转成map 

测试

getTop() async{
    DataResult dataResult = await Api.topListData();
    print("************* dataResult **** ${dataResult.result}");
    HomeNewsBean bean = dataResult.data;
    print("***************  bean....${bean.resObject}");
    print("***************  bean to json....${bean.toJson()}");//将bean转化成一个map
    HomeNewsBean bean2 = HomeNewsBean.fromJson(bean.toJson()) ; //从一个map里面构造一个实例bean
    print("************** bean2 resMsg  *****${bean2.resMsg}");
    String json = jsonEncode(bean2);
    await SpUtils.save(SPKey.TOP, json);
    String top =  await SpUtils.get(SPKey.TOP) as String;
    print("*********    toptop ********   $top");
//    String profile = jsonEncode(toptop);
    Map mm = jsonDecode(top);
    print("************** mm ****  $mm");
    resList.clear();
    resList = bean.resObject;
    setState(() {});
  }
上一篇 下一篇

猜你喜欢

热点阅读