java - 如何在Java中解析复杂的json字符串
问题描述
对于像下面这样的 json 字符串,我想遍历 DayOrder 2 和 3,我该如何解析?
{
"data": [
{
"DayOrder": 2,
"DayOfWeekStr": "Tuesday"
},
{
"DayOrder": 3,
"DayOfWeekStr": "Wednesday"
}
]
}
我试过的代码是这样的:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
JSONParser jsonParser = new JSONParser();
Object obj = jsonParser.parse(inputstring);
JSONArray array = (JSONArray) obj["data"];
我已经尝试了很多其他但没有工作
解决方案
虽然Gson显然很好,但您也可以正确使用org.json,因为您已经拥有它,我们可以看到
就像是
String jsonData = "{\"data\": [ { \"DayOrder\": 2, \"DayOfWeekStr\": \"Tuesday\" }, { \"DayOrder\": 3, \"DayOfWeekStr\": \"Wednesday\" }]}";
final JSONObject obj = new JSONObject(jsonData);
final JSONArray data = obj.getJSONArray("data");
for(int i = 0; i < data.length(); i++) {
JSONObject dataObj = data.getJSONObject(i);
LOG.info("DayOrder {}", dataObj.getInt("DayOrder"));
}
推荐阅读
- html - 为 flexbox 单元格分配相同的宽度
- amazon-web-services - Amazon S3 映像名称在下载时显示不同的文件名或哈希码,而不是原始文件名
- javascript - 为什么有些脚本不能正确加载?
- dll - 使用 CMake 将所有 .lib 捆绑到一个 .dll 中?
- django - 如何在 AWS 上修复 Django“ModuleNotFoundError: No module named 'application'”?
- node.js - 是否可以使用 lambda 来触发雪花中的存储过程?
- reactjs - 有没有办法将 PageURL 参数传递给 Facebook PageView 事件?
- javascript - 如果我无法返回操作结果,如何返回上一个 location.href
- yii2 - Yii2 查询 where 和 or
- javascript - 使用 TestCafe 测试滑块元素的问题