Json数据解析的一些常见问题

1、Json解析在对象中出现关键字问题

可以通过注解关联解析对象的key来解决这个问题,具体如下:

(1)fastjson使用者
@JSONField(name = “switch”)
public String myswitch;
(2)Gson
@SerializedName(“abstract”)
public String myabstract;

以上如果命名为private则在set和get方法上添加注解;

2、Json数据出现动态key问题,如下格式:
Json数据解析的一些常见问题_第1张图片

解析方式如下:

Map stringMap = new HashMap<>();

//fastJson解析
JSONObject jsonObject = JSON.parseObject(result);
Set keys = jsonObject.keySet();
Iterator iterator = keys.iterator();
while (iterator.hasNext()){
    String key = (String) iterator.next();
    Log.e("tag","key: "+key);
    stringMap.put(key,jsonObject.getString(key));
}
//org.json的解析
org.json.JSONObject object = null;
try {
    object = new org.json.JSONObject(result);
    Iterator iterator2 = object.keys();
} catch (JSONException e) {
    e.printStackTrace();
}

//还可以把这个object解析成string,把string自己放入数组中解析
3、AS插件之GsonFormat的使用

另外Android Studio提供有GsonFormat插件可以根据result直接生成java类,具体使用:
Json数据解析的一些常见问题_第2张图片

Json数据解析的一些常见问题_第3张图片

你可能感兴趣的:(android,json解析)