Я пытаюсь прочитать параметры функции из файла 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