我正在开发一个 Android REST 客户端。我们使用 JSON 作为数据交换格式,所以我使用 Jackson 解析器。我从服务器得到不同的 Json 响应,比如简单的数组:
{"user_id":"332","user_role":"1"}
或者是其他东西。我解析所有这些东西LinkedHashMap<String, Object>
并且一切正常,但是当我从服务器得到这个响应时:
[ { "user_id":"352",
"user_role":"expert",
"name":"Test 12-18",
"description":"Test" },
{ "user_id":"263",
"user_role":"novice lab",
"name":"Tom's Desk",
"description":"Desk"}
]
解析后我得到了 null: {}。这是我使用 Jackson 的代码:
ObjectMapper mapParametersToJSON = new ObjectMapper();
String serverResponseBody = responseFromServer.getBody();
LinkedHashMap<String, Object> resultofOperation = new LinkedHashMap<String,
Object>();
TypeReference<LinkedHashMap<String,Object>> genericTypeReferenceInformation = new
TypeReference<LinkedHashMap<String,Object>>() {};
try {
resultofOperation = mapParametersToJSON.readValue(serverResponseBody,
genericTypeReferenceInformation);
那么,为什么杰克逊没有解析这个呢?我怎样才能解决这个问题?