为了账号安全,请及时绑定邮箱和手机立即绑定

从服务器上的响应返回后,如何将这些值设置为 List<Models>?

从服务器上的响应返回后,如何将这些值设置为 List<Models>?

慕盖茨4494581 2021-08-19 18:33:56
我正在研究从服务器响应值的 Http API。我的问题是响应发送字符串值就像没有 JSON 对象一样。Username:password:leveluser1:user1:2user2:user2:2user3:user3:2user4:user4:2没有其他的。所以,List<Models> model;List<String> stringList = new ArrayList<>;String[] couple=response.split(":");for (int i = 3; i < couple.length - 1; i++) {     items = couple[i].split("\n");     String models = gson.toJson(items[0]);     Log.d(TAG, "a is ----> \t" + models);     stringList.add(models);}model = (List)stringList;logcat 显示如下内容:  a is  ---->   user1  a is  ---->   2  a is  ---->   user2  a is  ---->   2模型类是:public class Models{    private static final String TAG = Models.class.getName();    private String mUserName;    private String mPassword;    private int mlevel;    public Models(){    }    public String getmUserName() {        return mUserName;    }    public void setmUserName(String mUserName) {        this.mUserName = mUserName;    }    public String getmPassword() {        return mPassword;    }    public void setmPassword(String mPassword) {        this.mPassword = mPassword;    }    public int getMlevel() {        return mlevel;    }    public void setMlevel(int mlevel) {        this.mlevel = mlevel;    }我不知道该如何处理。
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以使用split()自己来解析字符串:


List<Models> models = new ArrayList<>();

String[] lines = result.split("\n");

for (String line : lines) {

    String[] items = line.split(":");

    Model model = new Models();

    model.setmUserName(items[0]);

    model.setmPassword(items[1]);

    model.setMlevel(Integer.valueOf(items[2]);

    models.add(model);

}

关于名字的一句话:


Models应该重命名,User因为这更准确地描述了模型所代表的内容。


去掉m成员变量的前缀和m所有访问器中的 。例如,访问器应该命名为getPassword()and setPassword(),而不是getmPasword()and setmPassword()。


查看完整回答
反对 回复 2021-08-19
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

可能你应该先用“\n”分割得到每一行,然后用“:”分割得到每个coloum,像这样


    String[] couple = result.split("\n");

    for (int i = 1; i < couple.length; i++) {

        String[] items = couple[i].split(":");

        Log.e("Look Here:", "a is ----> \t" + items[0] + "," + items[1] + ","  + items[2]);

    }

希望有用


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信