Java JSON打印

Java JSON打印,java,json,Java,Json,JSON代码(test2)供参考 { "forecast": { "txt_forecast": { "date": "8: 00AMMST", "forecastday": [ { "period": 0, "icon": "partlycloudy", "icon_url

JSON代码(test2)供参考

{
    "forecast": {
        "txt_forecast": {
            "date": "8: 00AMMST",
            "forecastday": [
                {
                    "period": 0,
                    "icon": "partlycloudy",
                    "icon_url": "http: //icons-ak.wxug.com/i/c/k/partlycloudy.gif",
                    "title": "Thursday",
                    "fcttext": "Partlycloudy.Highof63F.Windslessthan5mph.",
                    "fcttext_metric": "Partlycloudy.Highof17C.Windslessthan5km/h.",
                    "pop": "0"
                }
            ]
        }
    }
}
     Object obj = parser.parse(new FileReader("C:\\Users\\User\\Desktop\\test2.json"));

     JSONObject jsonObject = (JSONObject) obj;
     String name = (String) jsonObject.get("forecast").toString();
     System.out.println(name);
Java代码供参考

{
    "forecast": {
        "txt_forecast": {
            "date": "8: 00AMMST",
            "forecastday": [
                {
                    "period": 0,
                    "icon": "partlycloudy",
                    "icon_url": "http: //icons-ak.wxug.com/i/c/k/partlycloudy.gif",
                    "title": "Thursday",
                    "fcttext": "Partlycloudy.Highof63F.Windslessthan5mph.",
                    "fcttext_metric": "Partlycloudy.Highof17C.Windslessthan5km/h.",
                    "pop": "0"
                }
            ]
        }
    }
}
     Object obj = parser.parse(new FileReader("C:\\Users\\User\\Desktop\\test2.json"));

     JSONObject jsonObject = (JSONObject) obj;
     String name = (String) jsonObject.get("forecast").toString();
     System.out.println(name);
当我使用这个java代码时,它会打印出整个“预测”(即,它打印出日期、期间、图标、标题等)。我的问题是,如何在不打印所有代码的情况下打印JSON代码的特定部分。我使用的是JSON-SIMPLE,谢谢

Object obj = parser.parse(new FileReader("C:\\Users\\User\\Desktop\\test2.json"));

JSONObject jsonObject = (JSONObject) obj;
JSONObject forecast = jsonObject.get("forecast");
JSONObject txt__forecast = jsonObject.get("txt_forecast");
JSONArray forecastday = jsonObject.getJSONArray("forecastday");
JSONObject forecastIdx0 = forecastday.get(0);
int period = forecastIdx0.getInt("period");
Stting title = forecastIdx0.getString("title");
通常情况下,您不会在每次通话中存储它们。我这样做只是为了显示每个get调用返回的内容。正如你所知,这是相当冗长的。如果您不仅仅是以简单的方式使用JSON,那么使用对象反序列化库(如GSON)可以让您直接反序列化到预定义的对象中,这将使您受益匪浅


作为参考,它是官方的Json库,用于Json的低级操作和遍历。它在任何地方和与json交互的任何事物中都会使用。

如果没有
jsonObject.get(“forecast”)
返回什么,在我看来,它将是另一个可以钻取的
jsonObject
。@它基本上返回json文件中的每个变量。您已经问过这个问题了。你收到的答案有什么问题?@iamnotmaynard答案不清楚。如果答案不清楚,就要求对原来的问题进行澄清,不要浪费人们的精力去打开一个问同样问题的新问题。