如何读取Java中没有名称的元素的JSON响应(SurveyGizmo survey Response API)
我正在使用surveygizmo API检索调查响应,但是在他们的JSON响应(下面的示例)中,我遇到了两个问题
我将如何迭代这个问题:答案对,似乎没有与之相关联的字段名,因此我无法执行JSONObject。getJSONObject(“字段名”);或者JSONArray。getJSONArray(“字段名”);由于调查的跳过逻辑,我不知道我需要输入什么问题ID,所以我也无法通过“问题(#)”
我需要问题的questionId,但是考虑到键是“[question(#))”,既然我不相信它是JSONObject或JSONArray,我应该如何获得questionId,我应该将它视为字符串并执行正则表达式搜索以检索“question()”中的#
JSONResponse示例
{
"result_ok":true,
"total_count":"1",
"page":1,
"total_pages":1,
"results_per_page":50,
"data":[{
"id":"1",
"contact_id":"",
"status":"Complete",
"is_test_data":"1",
"datesubmitted":"2013-02-07 12:00:00",
"sResponseComment":"",
"[question(3)]":"15",
"[question(4), option(10003)]":"Baseball",
"[question(4), option(10007)]":"Basketball",
"[question(4), option(10009)]":"Hockey",
"[question(12)]":"No",
"[question(14)]":"Yes",
"[question(15)]":"Abc",
"[question(16)]":"No"
}]
}
# 1 楼答案
我一直在做一个类似的项目。到目前为止,我已经做到了
模特儿。政务司司长:
以及程序的主要功能。cs文件:
# 2 楼答案
您需要手工解析问题“number”的关键数据
如果你没有预料到这种格式会有很多变化,你可以使用正则表达式,或者你可以构建一个简单的“解析器”,在逗号上拆分,并用解析后的数据构建POJO
# 3 楼答案
我把艾伦的代码整合到一个类库中。我们在我工作的公司内部使用这个工具作为调查报告工具。它在Github上的https://github.com/tntp/NSurveyGizmo