【发布时间】:2015-09-13 14:55:13
【问题描述】:
我得到这样的 json 响应字符串。
[
"assets\/imgs\/choicelogos\/choice-logo.jpg",
"assets\/imgs\/choicelogos\/family-health-logo.jpg",
"assets\/imgs\/choicelogos\/four-corners-logo.jpg",
"assets\/imgs\/choicelogos\/grady-logo.jpg",
"assets\/imgs\/choicelogos\/hands-logo.jpg",
"assets\/imgs\/choicelogos\/morehouse-logo.jpg",
"assets\/imgs\/choicelogos\/smc-logo.jpg"
]
这是我使用ObjectMapper 类解析此字符串的方法。
public String parseResponse(String strResponseString) {
if (MBUtil.isEmpty(strResponseString)) {
return "";
}
String errMsg = "";
try {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
if (!objectMapper.canDeserialize(objectMapper.constructType(WebAPIResponse.class))) {
return getAppContext().getString(R.string.msg_error_in_reading_format);
}
TypeFactory typeFactory = objectMapper.getTypeFactory();
List<WebAPIResponse> someClassList = objectMapper.readValue(strResponseString, typeFactory.constructCollectionType(List.class, WebAPIResponse.class));
} catch (Exception e) {
Log.e(CLASS_TAG, e.getMessage());
errMsg = e.getMessage();
}
return errMsg;
}
但我无法解析。它正在抛出errorMsg = null。请任何人帮助我需要改变什么?
【问题讨论】:
-
它不是
List<WebAPIResponse>它可以是List<String>或只是String[]...并且在catch之前使用e.printStackTrace(); -
即使它不起作用。