JSONParser parser = new JSONParser();
ByteArrayInputStream is = new ByteArrayInputStream(pData,0,pLength);
try {
JSONObject inMsg = (JSONObject) parser.parse(new InputStreamReader(is, "UTF-8"));
Map<Payload, Object> data = new HashMap<Payload, Object>();
for (Map.Entry entry : (Set<Map.Entry>) inMsg.entrySet()) {
try {
data.put(Payload.fromKey(entry.getKey().toString()), entry.getValue());
} catch (IllegalArgumentException exp) {
// We simply ignore key which are unknown
}