有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中解析复杂的json字符串

对于下面这样的json字符串,我想迭代DayOrder 2和DayOrder 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"];

我也尝试过很多其他方法,但都没有成功


共 (1) 个答案

  1. # 1 楼答案

    虽然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"));
    }