gpt4 book ai didi

java - Gson 应为 BEGIN_ARRAY,但实际为 STRING

转载 作者:行者123 更新时间:2023-12-01 04:46:07 25 4
gpt4 key购买 nike

所有 StackOverflow 答案都没有帮助我。根据他们和我搜索的所有其他地方,我的 JSON 看起来是正确的,看起来不错。

我无法在 Java 中加载 JSON 文件,我确实需要这方面的帮助。

这是我的 JSON

{"evento":
{"descricao":"saf","finalizado":false,"id":1,"localEvento":"asufgb","nome":"Teste",
"convidados":
[{"acompanhante":null,"id":"28147",
"localHospedagem":"ATLANTE PLAZA","nome":"FooBar","nomeCracha":"FOO","observacoes":null,"participante":null,
"publico":"FROTISTAS"}
]}}

这是我的代码

JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(filePath)));

JsonObject obj = parser.parse(reader).getAsJsonObject();

Evento evento = gson.fromJson(obj.get("evento"), Evento.class);

以及错误

Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING
at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:139)

谁能告诉我我做错了什么吗?

最佳答案

我可能会采取以下方法。

import java.io.FileReader;
import java.util.List;

import com.google.gson.Gson;

public class App
{
public static void main(String[] args) throws Exception
{
Evento evento = new Gson().fromJson(new FileReader("input.json"), EventoWrapper.class).evento;
System.out.println(evento.descricao);
}
}

class EventoWrapper
{
Evento evento;
}

class Evento
{
String descricao;
String finalizado;
int id;
String localEvento;
String nome;
List<Convidado> convidados;
}

class Convidado
{
String acompanhante;
int id;
String localHospedagem;
String nome;
String nomeCracha;
String observacoes;
String participante;
String publico;
}

关于java - Gson 应为 BEGIN_ARRAY,但实际为 STRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15820149/

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