我在 Cloudera Manager Navigator REST API 中工作,其中提取结果工作正常,但无法获得任何嵌套值。
数据类型提取如下。
{
"parentPath": "String",
"customProperties": "Map[string,string]",
"sourceType": "String",
"entityType": "String"
}
数据应该像
{
"parentPath": "abcd",
"customProperties": {
"nameservice" : "xyz"
},
"sourceType": "rcs",
"entityType": "ufo"
}
但我得到的键值结果如下。
parentPath :abcd
customProperties : null
sourceType : rcs
entityType : ufo
在上面的响应数据中,“customProperties”带有一个空值,它应该返回一个包含的地图对象["nameservice" : "xyz"]
。这是以下代码片段的问题。
MetadataResultSet metadataResultSet = extractor.extractMetadata(null, null,"sourceType:HDFS", "identity:*");
Iterator<Map<String, Object>> entitiesIt = metadataResultSet.getEntities().iterator();
while(entitiesIt.hasNext()){
Map<String, Object> result = entitiesIt.next();
for(String data : result.keySet()){
System.out.println(" key:"+data+" value:"+result.get(data));
}
}
您能否建议我如何获取数据类型复杂的嵌套值。