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¤tPage=$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

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(() {});
}
网友评论