gpt4 book ai didi

java.lang.ClassCastException : java. lang.String 无法转换为 org.json.JSONObject

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

我点击了 API,得到的响应为

{"headers":{"Keep-Alive":["timeout=4, max=500"],"Server":["Apache"],"X-Content-Type-Options":["nosniff"],"Connection":["Keep-Alive"],"Vary":["X-Forwarded-For"],"X-XSS-Protection":["1;mode=block"],"Content-Length":["451"],"Content-Type":["application/hal+json"]},"statusCodeValue":200,"body":"{\"id\":\"7199\",\"username\":\"johntest@example.com\",\"start_time\":1583212261,\"expire_time\":1583253338,\"sponsor_profile\":\"1\",\"enabled\":false,\"current_state\":\"disabled\",\"notes\":null,\"visitor_carrier\":null,\"role_name\":\"[Guest]\",\"role_id\":2,}

然后我尝试获取主体。我得到了主体,但无法获取主体下的用户名。基本上我的主要目标是获取用户名。它会抛出此错误

java.lang.ClassCastException: java.lang.String cannot be cast to org.json.JSONObject

我试图获取用户名的逻辑。

ResponseEntity<String> resp = restTemplate.exchange(
reader.getAccountURL() + request.getUsername(),
HttpMethod.GET, entity, String.class);
JSONObject accountDetails = new JSONObject(resp);
Object getBody = accountDetails.get("body");
Object alreadyExits = ((JSONObject) getBody).get("username");

我做错了什么?

最佳答案

按照以下步骤操作:

  1. 获取正文字符串:String bodyString= resp.getString("body");
  2. 将 bodyString 解析为 jsonObject:JSONObject body= new JSONObject(bodyString);
  3. 获取用户名:String usename= body.getString("username");

这应该有效。

关于java.lang.ClassCastException : java. lang.String 无法转换为 org.json.JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60523396/

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