【发布时间】:2013-03-12 16:05:56
【问题描述】:
我正在开发一个 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);
那么,为什么杰克逊无法解析这个?我该如何解决这个问题?
【问题讨论】:
-
为什么你不使用默认的 Json Parser Api?
标签: java android json jackson linkedhashmap