我有一个用gson在领域模型中通过注解@SerializedName转换的json。
但是有时在json中,有一个未知密钥,我想将其序列化为字符串。
public class example extend Realmobject{
@SerializedName("example1")
@Expose
private String exampleNr1;
@SerializedName("example2")
@Expose
private String exampleNr2;
private String someOtherValue;
Getter / Setter here...
}
Json就是这样
[
{
"example1": "1234",
"example2": "1234",
"x": "dynamic"}, {
"example1": "1454",
"example2": "165456",
"xy": "dynamic"}]
现在,我将x和xy键(somtimes命名为xyz,依此类推)序列化为someOtherValue字符串。 在@SerializedName(value =“”,Alternative = {“”})上方,我没有机会,因为我不知道该字段的名称。
i将此序列化 清单woList = gson.fromJson(parentArray, new TypeToken>(){} .getType());
答案 0 :(得分:0)
您可以先将其转换为JSONObject。然后,您可以遍历JSONObject内部的一组键。
JSONObject json = gson.fromJson(stringJson, JSONObject.class);
Iterator<String> set = json.keys();
while(set.hasNext()) {
String dynamicAttributeName = set.next();
}
json.get(dynamicAttributeName); //to get the value