我的应用从API接收JSON响应。当它到达时,应用程序使用JSONParser类将结果作为Map获取:
JSONParser jp = new JSONParser();
Map <String, Object> result = jp.parseJSON(new InputStreamReader(input, "UTF-8"));
&#34;结果&#34;包含2个值。首先是我可以使用密钥&#34; url&#34;:
获得的URLString url = result.get("url");
第二,另一组采用JSON格式的数据,我使用了密钥&#34; eager&#34;。我试图将其提取到地图:
java.util.List<Map<String, Object>> eager = (java.util.List<Map<String, Object>>) result.get("eager");
生成的Map的行为不像Map,所以我将整个eager Map传递给String,只是为了检查内容,我发现数据在括号内,如下所示:
[{item1=x, item2=x,.....itemN=x}]
问题: 如何将数据作为JSON对象获取?
答案 0 :(得分:2)
您将结果字符串解析为List。如果您尝试获取数据&#34;会发生什么?像这样 ?
select COUNT(1) from TEST where contains(EMP_NAME, '("m.Sc" OR m.sc)')
答案 1 :(得分:1)
您需要使用“root”键而不是“data”来获取列表。
答案 2 :(得分:1)
“结果”是一张地图。 “渴望”是地图列表。
你需要获得渴望地图的第一个位置才能获得包含数据的地图:
Map <String, Object> result = jp.parseJSON(new InputStreamReader(input, "UTF-8"));
java.util.List<Map<String, Object>> eager = (java.util.List<Map<String, Object>>) result.get("eager");
Map<String, Object> eagerMap = (Map<String, Object>) eager.get(0);