How to parse JSON like:
{
  "key1": {
    "subKey1" : {
      "field1": "value",
      "field2": "value"
    },
    "subKey2": {
      "field1": "value",
      "field2": "value"
    }
  },
  "key2": {
    "subKey1" : {
      "field1": "value",
      "field2": "value"
    },
    "subKey2": {
      "field1": "value",
      "field2": "value"
    }
  }
}  
to get Object structure like:
  // key*       subKey*
Map<String, Map<String, DataType>> map;
public class DataType {
    private String field1;
    private String field2;
}
If this structure is too complicated, how to parse just a map of DataType at least?