Java 如何将json对象转换为字符串?堆栈溢出中的引用代码对我不起作用。你对此有什么有价值的想法吗

Java 如何将json对象转换为字符串?堆栈溢出中的引用代码对我不起作用。你对此有什么有价值的想法吗,java,json,Java,Json,我将在这里分享我的代码 请帮我做这个。 提前谢谢 { "statusCode": "1001", "message": "Success", "response": { "holidays": [{ "holidayId": 78, "year": 2015, "date": "2015-01-01", "

我将在这里分享我的代码

请帮我做这个。 提前谢谢

            {
    "statusCode": "1001",
    "message": "Success",
    "response": {
        "holidays": [{
                "holidayId": 78,
                "year": 2015,
                "date": "2015-01-01",
                "day": "Thrusday",
                "occasion": "New Year Day"
            },
            {
                "holidayId": 79,
                "year": 2015,
                "date": "2015-01-15",
                "day": "Thrusday",
                "occasion": "Pongal/Sankranthi"
            },
            {
                "holidayId": 80,
                "year": 2015,
                "date": "2015-01-26",
                "day": "Monday",
                "occasion": "Republic Day"
            }
        ],
        "year": 0
    }
}
这是我从响应中获取数据的方式:

        JSONObject jobj = new JSONObject(result);
        String statusCode = jobj.getString("statusCode");

        if (statusCode.equalsIgnoreCase("1001"))
        {
            System.out.println("SUCCESS!");
            String response = jobj.getString("response"); // got the error - Exception in thread "main" org.json.JSONException: JSONObject["response"] not a string.
    //at org.json.JSONObject.getString(JSONObject.java:639)
    //at packagehappierWork.example2.main(example2.java:21)


            Object obj = new JSONObject(response);
            JSONArray holidays = ((JSONObject) obj).getJSONArray("holidays");

我已从stackoverflow获得引用,但返回错误。

String response=jobj.getString(“response”)您的响应不是值节点,而是对象节点。因此,您应该调用
JsonObject responseObject=jobj.getJsonObject(“response”)

这是因为您试图将响应提取为
字符串,而实际上它是一个对象。您需要调用
getJSONObject
,然后调用
toString
,以获取响应的字符串表示形式,例如:

JSONObject jsonObject = new JSONObject("{\n" + 
        "\"statusCode\": \"1001\",\n" + 
        "\"message\": \"Success\",\n" + 
        "\"response\": {\n" + 
        "    \"holidays\": [{\n" + 
        "            \"holidayId\": 78,\n" + 
        "            \"year\": 2015,\n" + 
        "            \"date\": \"2015-01-01\",\n" + 
        "            \"day\": \"Thrusday\",\n" + 
        "            \"occasion\": \"New Year Day\"\n" + 
        "        },\n" + 
        "        {\n" + 
        "            \"holidayId\": 79,\n" + 
        "            \"year\": 2015,\n" + 
        "            \"date\": \"2015-01-15\",\n" + 
        "            \"day\": \"Thrusday\",\n" + 
        "            \"occasion\": \"Pongal/Sankranthi\"\n" + 
        "        },\n" + 
        "        {\n" + 
        "            \"holidayId\": 80,\n" + 
        "            \"year\": 2015,\n" + 
        "            \"date\": \"2015-01-26\",\n" + 
        "            \"day\": \"Monday\",\n" + 
        "            \"occasion\": \"Republic Day\"\n" + 
        "        }\n" + 
        "    ],\n" + 
        "    \"year\": 0\n" + 
        "   }" +
        "}");
String statusCode = jsonObject.getString("statusCode");
if(statusCode.equalsIgnoreCase("1001")){
    JSONObject response = jsonObject.getJSONObject("response");
    System.out.println(response.toString());
}

什么不起作用?错误是什么?@可选我假设:
org.json.JSONException:JSONObject[“response”]不是字符串。