gpt4 book ai didi

java - 在java中使用GSON序列化JSON文件

转载 作者:行者123 更新时间:2023-12-02 00:19:28 25 4
gpt4 key购买 nike

我想将这个 JSON 转换为 java 中的对象:

{
"mapping": [
{
"boardPosition": {
"row": 1,
"col": 1
},
"nodeId": 3242324
},
{
"boardPosition": {
"row": 1,
"col": 2
},
"nodeId": 432423
},
{
"boardPosition": {
"row": 1,
"col": 3
},
"nodeId": 424324132
}
]
}

这就是我创建 java 类的方式

class MapeoWumpus {
public mapp mapping;

}

class mapp{
public boardP boardPosition;
public String nodeId;
}

class boardP{
public int row;
public int col;

}

然后当我尝试像这样转换我的文件时

MapeoWumpus mapa=new MapeoWumpus();
mapa=gson.fromJson(filetext, MapeoWumpus.class);

我得到一个空对象

我能做什么?

编辑:这是我的整个代码:

package parserjson;

import java.io.FileNotFoundException;
import java.util.*;
import com.google.gson.*;

public class Main {

/**
* @param args
*/
public static void main(String[] args) throws FileNotFoundException {
String filetext;
ParserJson parser=new ParserJson();
Gson gson=new Gson();
MapeoWumpus mapa=new MapeoWumpus();
filetext=parser.leerArchivo("b1.json");
mapa=gson.fromJson(filetext, MapeoWumpus.class);
}

}

“leerArchivo”只是获取 json 文件的方法,您可以看到我的 json 文件位于字符串变量中

最佳答案

您应该将实例变量mapp定义为数组。因为您的 JSON 数据似乎包含映射数组。

class MapeoWumpus {
public mapp[] mapping;

}

不需要在下面的代码中创建新的 MapeoWumpus

MapeoWumpus mapa=new MapeoWumpus();
mapa=gson.fromJson(filetext, MapeoWumpus.class);

按如下方式更改即可

MapeoWumpus mapa=gson.fromJson(filetext, MapeoWumpus.class);

关于java - 在java中使用GSON序列化JSON文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11303423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com