【问题标题】:java.lang.String cannot be converted to JSONObject in javajava.lang.String 无法在 java 中转换为 JSONObject
【发布时间】:2021-02-11 07:42:48
【问题描述】:

我正在调用 API 并得到响应

"{\r\n  \"wrongUserLogInIdOrPassword\": true,\r\n  \"isEmailVerificationRequired\": false,\r\n  \"displayEmail\": null,\r\n  \"isPhoneVerificationRequired\": false,\r\n  \"displayPhone\": null,\r\n  \"isUserLockedOut\": false,\r\n  \"lockedOutEndDateTime\": 0,\r\n  \"isProgressToken\": false,\r\n  \"progressToken\": null,\r\n  \"isSecondPasswordRequired\": false,\r\n  \"secondPasswordToken\": null,\r\n  \"isTwoFactorRequired\": false,\r\n  \"twoFactorToken\": null,\r\n  \"logInId\": {\r\n    \"value\": \"xxxx@gmail.com\",\r\n    \"error\": \"Wrong Login id or password\"\r\n  },\r\n  \"password\": {\r\n    \"value\": \"\",\r\n    \"error\": \"Wrong Login id or password\"\r\n  },\r\n  \"invalidData\": false,\r\n  \"somethingWentWrong\": false,\r\n  \"error\": null\r\n}"

然后我尝试使用这个来转换 JSON 对象中的响应

 v = v.replaceAll("(\r\n|\n)", "");
            return new JSONObject(v).toString();

我也尝试替换“\n\r”,但它不起作用。

谁能帮忙?

【问题讨论】:

  • 你为 JSON 使用哪个库?
  • @Getodac 我正在使用 org.json.JSONObject

标签: java android json


【解决方案1】:

@sourabhdevpura,我已经运行了这段代码,它运行良好。问题可能在于方法的结果(来自return new JSONObject(v).toString();String)被分配给JSONObject 类型的变量。

【讨论】:

  • 我刚刚更新了一个截图。在过去 4 小时内。我尝试了所有方法,但没有任何效果i.stack.imgur.com/T7Wbx.png
  • 解密后的String已经代表了一个json。为什么不只返回字符串“v”?如我所见,decryptBody 返回一个字符串,因此您无需执行 new JSONObject(v)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
相关资源
最近更新 更多