Android Gson解析小技巧——解析数组json字符串——一行代码搞定

Object[] objects = new Gson().fromJson("", Object[].class);
  • 1

说一行代码就一行,哈哈!

那么下面稍微讲解一下

Object[]

例如:

“[{"name":"feisher","age":29}]”
  • 1

后台给我们一个这样的字符串,解析起来很坑爹对吧,感觉完全没必要有那层数组,但是让其该接口,就太low了,虽说我以前也这样干,( ̄▽ ̄)”

直接使用Gsonformat生成对象,然后发现,数组被去掉了,生成的里面的对象,然后使用Gson解析报错了!!

假如我们的对象名字叫做 Developer ,那么 对应的上面那行的解析代码就是

Developer[]
  • 1

获取对象

网上各种帖子写工具类转换JsonArray —JsonObject 看得真心累,其实很简单,一句代码足够

 
  

Object object = objects[0]; //承接上面解析方法 案例:[{"type":"img","value":"n"},{"type":"text","value":"ghj"}]

   P2PMessageContent[] objects = new Gson().fromJson(tClass.msg, P2PMessageContent[].class);
        P2PMessageContent object = null;
        String messageContent = "";
        for (int i = 0; i < objects.length; i++) {
            object = objects[i];  //承接上面解析方法
            if (object.type.equals("text")) {
                KLog.i("文本=====", object.value + "长度" + object.value.length());
                if (object.value.length() > 0) {
                    if (!TextUtils.isEmpty(object.value)&&!object.value.equals("")) {
                        KLog.i("进入文本=====", object.value);
                        messageContent = messageContent + object.value;
                    }
                }
            } else if (object.type.equals("img")) {
                    if (!TextUtils.isEmpty(object.classX)) {
                        String faceSub = "[" + object.classX + "]";
                        KLog.i("faceSub" + faceSub);
                        messageContent = messageContent + faceSub;
                    }
            }
            KLog.i("objects" + object.value);
        }

你可能感兴趣的:(Android,json和数组的问题)