Я пытаюсь прочитать параметры функции из файла JSON, но всегда получаю пустую строку.
Это мой файл JSON
{
"prova":"https://urltest",
"reale":"https://url"
}
И мой код
String key_param = "folder/param.json";
File param = new File ("/tmp/" + key_param);
/*
...
CODE FOR CHECKING FILE EXISTENCE
...
*/
JSONParser new_pars = new JSONParser();
Reader myreader = new FileReader(param);
JSONObject json_param = (JSONObject) new_pars.parse(myreader);
String url = new String();
if (ambiente == "prova") //<-- this has been previously set in the code
url = (String) json_param.get("prova");
else if (ambiente == "reale")
url = (String) json_param.get("reale");
System.out.println("url = " + url);
Я всегда получаю url =
от исполнения.
Что случилось?
ИЗМЕНИТЬ
Ошибка заключается не в обработке json, а в моей попытке сравнить строки в Java с помощью ==
1
shark_sh
31 Мар 2020 в 17:04
1
Вы почти никогда не сравниваете строки в Java.
– Dave Newton
31 Мар 2020 в 17:07
Да. Я чувствую себя очень глупо сейчас. Но спасибо.
– shark_sh
31 Мар 2020 в 17:10
Я получил его по ссылке Smutje. Но я думаю, что такого рода ошибки заслуживают этой горечи.
– shark_sh
31 Мар 2020 в 17:12
1 ответ
Есть ли ошибки при использовании jsonobject.get(value)?
То же, что и ответ @Dave Newton. Вы не можете сравнивать строку с операцией ==. Вы должны использовать equals
или equalsIgnorecase
для сравнения
2
Trần Gia Bảo
31 Мар 2020 в 17:08
Ага. как я уже сказал, я чувствую себя глупо.
– shark_sh
31 Мар 2020 в 17:13
Ага, ха-ха-ха :D
– Trần Gia Bảo
31 Мар 2020 в 17:15
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.