gpt4 book ai didi

java - 在 Java 程序中使用 JSON

转载 作者:行者123 更新时间:2023-12-02 10:27:50 25 4
gpt4 key购买 nike

简而言之,我正在尝试编写一些代码,以便能够将 JSON 文件加载到我的应用程序中,并根据当前日期/月份,我的程序读取正确的 JSON 数组并使用存储的字段填充剩余字段在 JSON 数组中。

我有以下代码块:

        JSONArray jsonArray = new JSONArray(loadJSON());

DateFormat dayOfMonth = new SimpleDateFormat("dd");
String dayOfMonth2 = dayOfMonth.format(new Date());
int result = Integer.parseInt(dayOfMonth2);

DateFormat monthOfYear = new SimpleDateFormat("MM");
String monthOfYear2 = monthOfYear.format(new Date());
int result2 = Integer.parseInt(monthOfYear2);

try {

if (jsonArray.getInt(0) == result && jsonArray.getInt(1) == result2 ) {
day = jsonArray.optString(0);
month = jsonArray.optString(1);
one = jsonArray.optString(2);
two = jsonArray.optString(3);
three = jsonArray.optString(4);
four = jsonArray.optString(5);
five = jsonArray.optString(6);
six = jsonArray.optString(7);
seven = jsonArray.optString(8);
}
} catch (Exception e) {
System.out.print("Unable to find times for this day");
}

因此,我将 dayOfMonth 存储在基于当前日期的变量中。我还根据月份的年份将 monthOfYear 存储在变量中。

我的 JSON 包含以下值:

["15","12","06:00","08:00","12:00","13:00","14:00","16:00","17:00"]
["16","11","06:26","08:03","12:09","13:46","14:17","16:05","17:42"]
["17","11","06:26","08:03","12:09","13:46","14:17","16:05","17:42"]
["18","11","06:26","08:03","12:09","13:46","14:17","16:05","17:42"]

程序可以轻松加载第一个值,但每当我移动第一个 JSON 数组的位置时,它都不会使用值填充该字段。

似乎 if 语句仅与 .json 文件中保存的第一个数组进行比较,如果这不是正确的日期/月份,则会将字段留空。

我如何修改它,以便它检查每个 JSON 数组,直到找到相应的日/月值,然后将这些值存储在字符串变量中。

加载 JSON:

public String loadJSON() {
String json;
try {
InputStream is = getAssets().open("test.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}

最佳答案

好吧,我想在这之后JSONArray jsonArray = new JSONArray(loadJSON());您的 jsonArray 仅包含文件的第一行(因为该文件不是有效的 json)

我认为你应该将文件的行读取到 List<String>然后调用JSONArray循环内每个元素的构造函数(因为所有行都是有效的 Json,但不是整个文件)

我希望这有帮助。如果没有,我认为你应该提供更多的代码,这样我就可以在本地运行它

关于java - 在 Java 程序中使用 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com