Здравствуйте Итак, пишу онлайн-переводчик с помощью бесплатного инструмента Яндекс. У меня есть эта программа, которая, когда пользователь нажимает на btn_translate, я получаю от и до языков из comboBoxes, а затем я получаю текст из текстовой метки. Отправляем его на сервер с помощью команды curl. имейте в виду, что я новичок в этой области, поэтому у моего кода может быть множество проблем ...
Вот пример URL:
https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-KEY&lang=en-fa&text=hi
и вот Json, возвращаемый яндексом:
{"code": 200, "lang": "en-fa", "text": ["سلام"]}
Итак, вот мой вопрос: я хочу получить доступ к третьему элементу в этом Json, поскольку вы можете видеть, что это «текст», как мне сделать это?
Я использую Gson, и я не знаю, как поместить это Json я получаю в массив, который выглядит следующим образом:
Array [0] = 200 (Код)
Array [1] = "en-fa" (Lang)
Array [2] = "سلام" (текст)
и вот мой код (btn push part):
String command = IInfo.CMD +"&lang="+combo_from.getSelectedItem()
+"-"+combo_to.getSelectedItem()+"&text="+txt_word.getText();
System.out.println(command);
System.out.println("btn pushed");
try(Reader reader = new InputStreamReader(
Runtime.getRuntime().exec(command).getInputStream()
)){
JsonElement json = new JsonParser().parse(reader);
System.out.println(json);
} catch (IOException e)
{
e.printStackTrace();
}
, и если вы объясните мне, как работает моя попытка, это будет здорово! спасибо.