1:我之前解析json都是用Gson解析的。
2:现在有个json文件,,最顶部的键名不是固定的名字,因为Gson要创建实体bean对象,键名要和json文件一样,所以感觉用Gson解析不了。
3:所以改用JsonObject和JsonArrayt解析。上面的问题解决了。
4:但是我用JsonObject解析时,因为平时很少用这种解析,别的问题又来了,遇到没有的属性会抛出异常,不能继续解析了
5:打字可能说不清楚,直接举了个例子。
这是一个简单的json文件(people下面有3个人,3个人各自有age和name属性,刘德华独自有个like数组属性)。
因为People不是固定的名字,有时候可能是star,person,man等等。所以用Gson不能解析。用JsonObject解决了这个问题。
但是用JsonObjec时,每次解析到jsonObject.getJsonArray("like")时就会出错,因为这个属性,只有刘德华有,其他2个没有。用是不是=null判断也没用。但是我想拿到这个属性,该怎么处理?
2:现在有个json文件,,最顶部的键名不是固定的名字,因为Gson要创建实体bean对象,键名要和json文件一样,所以感觉用Gson解析不了。
3:所以改用JsonObject和JsonArrayt解析。上面的问题解决了。
4:但是我用JsonObject解析时,因为平时很少用这种解析,别的问题又来了,遇到没有的属性会抛出异常,不能继续解析了
5:打字可能说不清楚,直接举了个例子。
{
"People": [
{
"age": "20",
"name": "张学友"
},
{
"age": "25",
"like": [
{
"likename": "唱歌"
},
{
"likename": "拍戏"
},
],
"name": "刘德华"
},
{
"age": "30",
"name": "郭富城"
}
]
}
这是一个简单的json文件(people下面有3个人,3个人各自有age和name属性,刘德华独自有个like数组属性)。
因为People不是固定的名字,有时候可能是star,person,man等等。所以用Gson不能解析。用JsonObject解决了这个问题。
但是用JsonObjec时,每次解析到jsonObject.getJsonArray("like")时就会出错,因为这个属性,只有刘德华有,其他2个没有。用是不是=null判断也没用。但是我想拿到这个属性,该怎么处理?