You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用Java将Gson生成的JSON字符串还原为原始二维数组

在Java中将JSON字符串还原为二维字符串数组

既然你之前是用Gson把二维数组转成JSON字符串的,那用Gson来反序列化回去肯定是最顺手的选择,下面给你一步步讲怎么实现:

1. 确保项目引入Gson依赖

如果你的项目用Maven管理,在pom.xml里添加以下依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10.1</version> <!-- 建议使用最新稳定版 -->
</dependency>

如果是Gradle项目,在build.gradledependencies块里添加:

implementation 'com.google.code.gson:gson:2.10.1'

2. 编写反序列化代码

你只需要几行代码就能完成转换,Gson会自动匹配JSON数组和Java二维字符串数组的结构:

import com.google.gson.Gson;

public class JsonToArrayExample {
    public static void main(String[] args) {
        // 你的目标JSON字符串
        String jsonReels = "[[\"BL\",\"77\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"1B\",\"BL\",\"77\",\"BL\",\"2B\",\"BL\",\"1B\",\"BL\",\"LG\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"2B\"],[\"BL\",\"77\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"1B\",\"BL\",\"77\",\"BL\",\"2B\",\"BL\",\"1B\",\"BL\",\"LG\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"2B\"],[\"BL\",\"77\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"1B\",\"BL\",\"77\",\"BL\",\"2B\",\"BL\",\"1B\",\"BL\",\"LG\",\"BL\",\"1B\",\"BL\",\"3B\",\"BL\",\"2B\"]]";
        
        Gson gson = new Gson();
        // 直接反序列化为二维String数组
        String[][] reels = gson.fromJson(jsonReels, String[][].class);
        
        // 可以打印验证结果,比如输出第一行第一个元素
        System.out.println(reels[0][0]); // 会输出 "BL"
    }
}

另一种泛型方式(可选)

如果之后需要处理更复杂的泛型结构,也可以用TypeToken来明确数组类型:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class JsonToArrayExample {
    public static void main(String[] args) {
        String jsonReels = "[[\"BL\",\"77\",...]]"; // 替换为你的JSON字符串
        
        Gson gson = new Gson();
        Type reelsType = new TypeToken<String[][]>() {}.getType();
        String[][] reels = gson.fromJson(jsonReels, reelsType);
    }
}

两种方法效果完全一致,选你觉得顺手的就行,这样就能完美还原你最初的二维数组啦。

内容的提问来源于stack exchange,提问作者Shruti Gusain

火山引擎 最新活动