Я искал все, но до сих пор не могу найти решение своей проблемы. Если пост уже сделан, пожалуйста, сообщите мне, чтобы я мог его посетить. Я видел похожие посты, но они следуют другому формату JSON, чем мой, поэтому я хотел посмотреть, возможно ли это и как это сделать, используя формат JSON, который будет представлен ниже.
По сути, я пытаюсь получить каждый элемент в файле JSON и получить имя и значение ключа каждого элемента. И ключ, и значение являются строковыми значениями. Вот пример JSON того, как я хочу, чтобы мой код JSON выглядел следующим образом:
{
"Variable1":"-",
"Variable2":" Test "
}
Я использую библиотеку org. json, и я хотел бы знать, возможно ли это и если да, то как мне этого добиться? Первоначально я пытался поместить переменные в массив с именем «Переменные», но каждый раз, когда я пытался получить этот массив, он выдавал ошибку, в которой говорилось, что JSONObject [«Переменные»] не является JSONArray. Не уверен, если это вызвано из-за проблемы в JDK или из-за проблемы в моем коде. Это, конечно, вещь для обсуждения в другой ветке. Пока это то, что у меня есть (FilePath - это строковая переменная, которая содержит полный путь к файлу):
String Contents = new String((Files.readAllBytes(Paths.get(FilePath))));
JSONObject JsonFile = new JSONObject(Contents);
JSONArray VariableList = JsonFile.getJSONArray("Variables");
for (Object Item: VariableList) {
Map.Entry Item2 = (Map.Entry)Item;
System.out.println("Key: " + Item2.getKey() + ", Value: " + Item2.getValue());
}
Приведенный выше код должен работать, если JSON выглядел примерно так (да Я сказал, что должен, потому что это не работает):
{
"Variables": {
"Variable1":"-",
"Variable2":" Test "
}
}
Если это возможно, как я смогу получить ключ и значение, используя первый формат JSON? Если это невозможно, то как бы я сделал это альтернативным способом? Имейте в виду, что имя ключа никогда не совпадает, так как ключ и значение будут отличаться в зависимости от того, что пользователь хочет, чтобы они были, поэтому важно иметь возможность * l oop через каждый элемент и получите и его ключ, и ценность.
Спасибо за ваше время и усилия.