【发布时间】:2018-05-18 08:32:19
【问题描述】:
下面是json格式,我要提取动态键值对的数据。
{"data": [
{"1000":"2018-03-10 00:00:00.0"},
{"100031": "2018-03-15"}
]
}
这是我正在尝试的东西,但它不起作用并显示错误:
在输入中,我得到了 JSON 对象。
JSONArray lastdtArr = json.getJSONArray("data");
int len = lastdtArr.length();
for(int i=0;i<len;i++) {
JSONObject lastdtid = lastdtArr.getJSONObject(i);
int id = lastdtid.getKey();
String date = lastdtid.getValue();
//Operations to perform
}
PS:我对 Java 完全陌生。我在互联网上找到的解决方案是 json 格式,其中键固定在键值对中。但在这种情况下,密钥始终是动态的。请让我知道我必须在循环中写什么来获取 id 和 date 中的值?
【问题讨论】:
-
您应该看一看涵盖这个确切问题的数千个教程之一。
-
@Ben 确实。它可能是一个/meta,但即使我们的工作被定义和重新定义为帮助者数千次,来到这里寻求一些具有特定问题的教学也不是一件坏事,如How to Ask 页面中所述。最重要的是,无论您如何看待,大多数在这里寻求帮助的代码新手也需要一些教学:)。我认为分享原始知识不是一件坏事,正如一位杰出的科学家有一天所说:如果我给你知识,我不会失去任何东西,我只是通过你和我的相加创造新的东西:)
-
@xoxel 我不确定你想告诉我什么,抱歉。
-
我不知道如何更好地解释自己,只是为了简历:ofc 他应该自己看,但这并不意味着他不应该帮助他。
-
现在我明白了。他已经在 SO 上工作了近 6 年,并提出了一个问题,只需在此处的搜索栏中输入确切的标题,就会得到 40 个其他结果。提供建议的适用范围有限,而不是指出此处提出问题的基本原则(首先进行一些研究,使用搜索栏,向我们展示您尝试过的内容等)尚未实现。对于资深会员来说更是如此。