gpt4 book ai didi

java - Android - 奇怪的 EscapeUtil.unescapeString 崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:49 24 4
gpt4 key购买 nike

我在从我们的应用程序服务器接收 JSON 字符串时遇到崩溃。我们认为,当条目有“引号”时,会添加额外的转义符

double escapes??

在 android 中,如何确定是否收到这样的字符串,以及如何从 Android 端修复它?

这是我们当前的响应字符串处理:

public String processResponseString(String responseString) {
if (responseString.startsWith("\"")) {
responseString = responseString.substring(1, responseString.length());
}
if (responseString.endsWith("\"")) {
responseString = responseString.substring(0, responseString.length() - 1);
}
responseString = EscapeUtil.unescapeString(responseString);
return responseString;
}

此外,logcat 不包含崩溃后的整个 json 字符串,因此我看不到导致崩溃的实际字符串。


异常

 java.lang.ClassCastException: com.optiisolutions.housekeeping.model.OptiiAPI.OptiiError cannot be cast to java.util.Map
at com.optiisolutions.housekeeping.network.OptiiHTTPClientRetroFit$2.success(OptiiHTTPClientRetroFit.java:186)
at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:45)

OptiiHTTPClientRetroFit.java:186

optiiClient.postRequest(event.getRequest(), new Callback<Map<String, Object>>() {
@Override
public void success(Map<String, Object> stringObjectMap, Response response) {
Log.d(TAG, "Successful response: " + stringObjectMap.toString());
String result = (String) stringObjectMap.get(OPTII_RESULT_TYPE);
String json = gson.toJson(stringObjectMap, Map.class);

最佳答案

我认为您需要使用 JSONValue 将 Map 解析为 JSON,如下面的代码。

optiiClient.postRequest(event.getRequest(), new Callback<Map<String, Object>>() {
@Override
public void success(Map<String, Object> stringObjectMap, Response response) {
Log.d(TAG, "Successful response: " + stringObjectMap.toString());
// For JsonValue you need to add one jar file .
String json= JSONValue.toJSONString(stringObjectMap);
Log.d(TAG, "Successful json: " + json);
}

需要在gradle依赖中加入jar javax.json-1.0.2.jar

dependencies {
compile files('libs/javax.json-1.0.2.jar')
}

下载 javax.json-1.0.2.jar 从以下链接下载:

http://www.java2s.com/Code/Jar/j/Downloadjavaxjson102jar.htm

关于java - Android - 奇怪的 EscapeUtil.unescapeString 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43150610/

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