首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Gson反序列化JSON数组

Gson反序列化JSON数组

Gson是一个流行的JSON解析库,通常用于将JSON字符串转换为Java对象。在反序列化JSON数组时,可以使用Gson的fromJson方法。

以下是一个简单的示例:

代码语言: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 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对象。

代码语言: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数组。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 除了FastJson,你还有选择: Gson简易指南

    前几天被几个技术博主的同一篇公众号文章 fastjson又被发现漏洞,这次危害可导致服务瘫痪! 刷屏,离之前漏洞事件没多久,fastjson 又出现严重 Bug。目前项目中不少使用了 fastjson 做对象与JSON数据的转换,又需要更新版本重新部署,可以说是费时费力。与此同时,也带给我新的思考,面对大量功能强大的开源库,我们不能盲目地引入到项目之中,众多开源框架中某个不稳定因素就足以让一个项目遭受灭顶之灾。趁着周末,在家学习下同样具备JSON与对象转换功能的优秀开源框架 Gson,并且打算将今后项目使用 fastjson 的地方逐渐换成使用 Gson,记录下学习总结的内容,希望对小伙伴也有所帮助。

    04

    除了FastJson,你还有选择: Gson简易指南

    这个周末被几个技术博主的同一篇公众号文章 fastjson又被发现漏洞,这次危害可导致服务瘫痪! 刷屏,离之前的漏洞事件没多久,FastJson 又出现严重 Bug。目前项目中不少使用了 FastJson 做对象与JSON数据的转换,又需要更新版本重新部署,可以说是费时费力。与此同时,也带给我新的思考,面对大量功能强大的开源库,我们不能盲目地引入到项目之中,众多开源框架中任一个不稳定因素就足以让一个项目遭受灭顶之灾。趁着周末,在家学习下同样具备对象JSON相互转换功能的优秀开源框架 Gson,并且打算将今后项目使用 FastJson 的地方逐渐换成使用 Gson,记录下学习总结的内容,希望对小伙伴也有所帮助。

    03
    领券