从服务器获取响应之后需要对数据进行处理,如:
{“code”:200,“msg”:“登录成功”,“data”:null}
{“code”:200,“msg”:“登录失败”,“data”:null}
我们需要对msg返回的内容进行比较以进行进一步操作,下面分享解析json的方法(提取键值对)
1、使用alibaba:fastjson进行解析
在 build.gradle 文件的dependencies下添加以下内容:
implementation 'com.alibaba:fastjson:1.2.79'
导包:
import com.alibaba.fastjson.JSONObject;
2、比如在上一小节https://blog.csdn.net/qq_46079439/article/details/123669148
中获取了数据。
//接收数据
String s = Objects.requireNonNull(response.body()).string();
Log.e("response", s ); // {"code":200,"msg":"登录成功","data":null}
//将传过来的json数据,并转成JSON对象
JSONObject json = JSONObject.parseObject(s);
//保存"msg"字段的内容(值)
String data = json.getString("msg"); //登录成功
//对数据进行处理
if (data.equals("登录成功")) {
/
}
如果想要获取“data”字段的值,而其内容又为json格式,可以“套娃”进行解析,即将值转化为json对象,对其内容进行提取等操作