使用 Gson 将 Json 放入数组
Put Json In to Array using Gson
你好所以我正在使用 Yandex 免费工具编写在线翻译器。
我有这个程序,当用户点击 btn_translate 时,我从组合框获取来自和到语言,然后从文本标签获取文本。通过 curl 命令将其发送到服务器。
请记住,我是这个领域的初学者,所以我的代码可能有很多问题...
这是 url 示例:
https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-KEY&lang=en-fa&text=hi
这里是 yandex 返回的 Json:
{"code":200,"lang":"en-fa","text":["سلام"]}
所以这是我的问题:
我想访问此 Json 中的第 3 项,如您所见,它是 "text" 我应该怎么做?
我正在使用 Gson,但我不知道如何将其放入 Json 我正在接收一个数组,如下所示:
数组[0] = 200(代码)
数组[1] = "en-fa" (朗)
数组[2] = "سلام"(文本)
这是我的代码(btn 推送部分):
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();
}
如果你能向我解释我的尝试是如何工作的,那就太棒了!
谢谢。
只需稍微改变您阅读回复的方式,您就可以像下面这样:
JsonObject jsonObj = new JsonParser().parse(reader).getAsJsonObject()
jsonObj.get("code") ==> 200
jsonObj.get("lang") ==> "en-fa"
jsonObj.get("text").getAsString() ==> "سلام"
你好所以我正在使用 Yandex 免费工具编写在线翻译器。 我有这个程序,当用户点击 btn_translate 时,我从组合框获取来自和到语言,然后从文本标签获取文本。通过 curl 命令将其发送到服务器。 请记住,我是这个领域的初学者,所以我的代码可能有很多问题...
这是 url 示例:
https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-KEY&lang=en-fa&text=hi
这里是 yandex 返回的 Json:
{"code":200,"lang":"en-fa","text":["سلام"]}
所以这是我的问题: 我想访问此 Json 中的第 3 项,如您所见,它是 "text" 我应该怎么做?
我正在使用 Gson,但我不知道如何将其放入 Json 我正在接收一个数组,如下所示:
数组[0] = 200(代码)
数组[1] = "en-fa" (朗)
数组[2] = "سلام"(文本)
这是我的代码(btn 推送部分):
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();
}
如果你能向我解释我的尝试是如何工作的,那就太棒了! 谢谢。
只需稍微改变您阅读回复的方式,您就可以像下面这样:
JsonObject jsonObj = new JsonParser().parse(reader).getAsJsonObject()
jsonObj.get("code") ==> 200
jsonObj.get("lang") ==> "en-fa"
jsonObj.get("text").getAsString() ==> "سلام"