我有一些 json 对象
{
"name": "John",
"age": 29,
"bestFriends": [
"Stan",
"Nick",
"Alex"
]
}
这是我的 JsonDeserializer 实现:
public class CustomDeserializer implements JsonDeserializer<Person>{
@Override
public Person deserialize(JsonElement json, Type type, JsonDeserializationContext cnxt){
JsonObject object = json.getAsJsonObject();
String name = new String(object.get("name").getAsString());
Integer age = new Integer(object.get("age").getAsInt());
String bestFriends[] = ?????????????????????????????????
return new Person(name, age, bestFriends);
}
}
如何使用 GSON 库从 json 对象获取字符串数组?
非常感谢!
最佳答案
对于解串器,您只需循环 ArrayNode 并将值一个接一个地添加到 String[] 中即可。
ArrayNode friendsNode = (ArrayNode)object.get("bestFriends");
List<String> bestFriends = new ArrayList<String>();
for(JsonNode friend : friendsNode){
bestFriends.add(friend.asText());
}
//if you require the String[]
bestFriends.toArray();
关于java - 如何在反序列化方法中从json对象获取字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48789455/