Gson反序列化JSON数组
Gson是一个流行的JSON解析库,通常用于将JSON字符串转换为Java对象。在反序列化JSON数组时,可以使用Gson的fromJson
方法。
以下是一个简单的示例:
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
public class JsonArrayDeserializer implements JsonDeserializer<JsonArray> {
@Override
public JsonArray deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
JsonArray array = new JsonArray();
JsonObject jsonObject = json.getAsJsonObject();
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
array.add(entry.getValue());
}
return array;
}
}
使用Gson反序列化JSON数组时,需要创建一个JsonArrayDeserializer
类,并将其添加到Gson的registerTypeAdapter
方法中,以便将JSON数组转换为Java对象。
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
public class Main {
public static void main(String[] args) {
String json = "[{\"name\":\"John\",\"age\":25},{\"name\":\"Jane\",\"age\":30}]";
Gson gson = new Gson();
JsonArrayDeserializer deserializer = new JsonArrayDeserializer();
JsonArray array = gson.fromJson(json, JsonArray.class);
System.out.println(array);
}
}
这个示例代码将JSON数组转换为一个Java对象,并将其打印到控制台上。你可以将这个示例代码添加到你的项目中,以便在需要的时候使用Gson反序列化JSON数组。
领取专属 10元无门槛券
手把手带您无忧上云