1、Json解析在对象中出现关键字问题
可以通过注解关联解析对象的key来解决这个问题,具体如下:
(1)fastjson使用者
@JSONField(name = “switch”)
public String myswitch;
(2)Gson
@SerializedName(“abstract”)
public String myabstract;
以上如果命名为private则在set和get方法上添加注解;
2、Json数据出现动态key问题,如下格式:
解析方式如下:
Map<String,String> stringMap = new HashMap<>();
//fastJson解析
JSONObject jsonObject = JSON.parseObject(result);
Set<String> 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类,具体使用: