gpt4 book ai didi

java - 为什么我的 JSONObject(String) 返回空?

转载 作者:行者123 更新时间:2023-12-02 06:26:34 27 4
gpt4 key购买 nike

因此,我从 post 方法接收到一个 JSON,如下所示(一个充满字符串数组的 JSON)。我在 Java 方法中以字符串形式接收它。我的目标是将其转换为 JSONObject 并迭代它,例如:x.getString("0")

但是我有一个问题,当我尝试转换为 JSONObject 时,我使用 import org.json.JSONObject,它返回一个空的 JSONObject,如下所示:{} 为什么会这样?谢谢

编辑:字符串已成功接收,因为如果我返回,它会返回我发送的 JSON。

{ '0': [ 'Mon Apr 08 2019 19:26:37 GMT+0000 (UTC)' ],
'1': [ '1234', '456', '1234', '456', '1234', '456', '545' ],
'2': [ '1234', '456', '1234', '456', '1234', '456', '545' ],
'3': [ '1234', '456', '1234', '456', '1234', '456', '545' ],
'4': [ '1234', '456', '1234', '456', '1234', '456', '545' ],
'5': [ 'Mon Apr 08 2019 19:30:00 GMT+0000 (UTC)' ] }
 // My Java method that converts JSON received to JSONObject:

@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/{nifCliente}") // irrelevant this part, ignore it, important is the String
public JSONObject inserir (@PathParam("nifCliente")int c, String d) {
JSONObject f = new JSONObject(d)
return f;

}

最佳答案

你的问题不在于 JSONObject 的构造,它是有效的。

您的问题是,当您尝试将 JSONObject 作为 @Produces(MediaType.APPLICATION_JSON) 返回时,系统不知道如何解析它。

您尝试返回收到的相同对象,您将看到它是如何工作的,因为 @Produces(MediaType.APPLICATION_JSON) 知道将 String 解析为 Json。

然后尝试将 f 作为字符串返回:

    @POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/{nifCliente}") // irrelevant this part, ingore it, important is the String
public String inserir (@PathParam("nifCliente")int c, String d) {
JSONObject f = new JSONObject(d);

return f.toString();

}

关于java - 为什么我的 JSONObject(String) 返回空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782247/

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