【发布时间】:2018-05-15 03:30:21
【问题描述】:
我正在使用 Spark 在 Java 中编写 API(与我的问题无关,但提供了一些上下文)。 我有以下 JSON(与我的后端返回的完全相同):
{"CfgCampaign":{"callingLists":{"CfgCallingListInfo":{"callingListDBID":{"value":126},"share":{"value":10},"isActive":{"value":2}}},"xmlns":"http://schemas.genesyslab.com/Protocols/Configuration/ConfServer/2005/","DBID":{"value":101},"name":{"value":"WI_Camp_1"},"state":{"value":1},"campaignGroups":{"CfgCampaignGroupInfo":[{"groupType":{"value":5},"dialerDBID":{"value":0},"optMethodValue":{"value":80},"origDNDBID":{"value":0},"numOfChannels":{"value":10},"groupDBID":{"value":826},"isActive":{"value":2},"scriptDBID":{"value":0},"trunkGroupDNDBID":{"value":0},"operationMode":{"value":1},"dialMode":{"value":2},"statServerDBID":{"value":176},"optRecBuffSize":{"value":6},"optMethod":{"value":1},"minRecBuffSize":{"value":4}},{"groupType":{"value":5},"dialerDBID":{"value":0},"optMethodValue":{"value":80},"origDNDBID":{"value":0},"numOfChannels":{"value":10},"groupDBID":{"value":827},"isActive":{"value":2},"scriptDBID":{"value":0},"trunkGroupDNDBID":{"value":0},"operationMode":{"value":1},"dialMode":{"value":2},"statServerDBID":{"value":176},"optRecBuffSize":{"value":6},"optMethod":{"value":1},"minRecBuffSize":{"value":4}}]},"scriptDBID":{"value":0},"tenantDBID":{"value":101}}}
这似乎是有效的,根据https://jsonlint.com/ 我将它作为 JSONObject 存储在我的代码中(所以基本上,上面是 toString() 的结果)。 但是,当我尝试在 JSONArray 中提取“campaignGroups”时,我得到:
org.json.JSONException: JSONObject["campaignGroups"] not found.
我实际上得到了这个错误,即使只是试图获取任何密钥,例如调用 get("DBID") 将返回相同的错误。
我对这里发生的事情有点困惑,如果有任何帮助,我们将不胜感激。
编辑:因为只有从异常中才能明显看出,所以我使用的是 json.org
谢谢!
【问题讨论】: