java - 使用 Gson 创建数组

标签 java json gson

我正在使用 gson在 Java 中创建 JSON 对象。我正在尝试制作一个包含三个元素的数组:

[ "ONE", "TWO", "THREE" ]

使用这段代码:

    JsonArray   array   = new JsonArray ();
    array.add("ONE");
    array.add("TWO");
    array.add("THREE");

但是 add() 只接受一个 JsonElement 对象,而不是一个实际的字符串。


我觉得我应该能够做到这一点的原因是因为我使用了一个名为 SimpleJSON 的 C# 脚本。过去使用 Unity3D。有了它,我可以做到这一点:

    JSONArray ary = new JSONArray ();
    ary.Add("ONE");
    ary.Add("TWO");
    ary.Add("THREE");

效果很好。我只是不确定如何使用 gson 执行此操作。


我知道我可以将一个 Java 数组转换成一个 JSON 对象:

String[] strings = {"abc", "def", "ghi"};
gson.toJson(strings);  ==> prints ["abc", "def", "ghi"]

但是,我想在 JsonArray(Add 方法)中动态创建对象,就像使用 C# 一样。

最佳答案

JsonPrimitive .你应该能够使用 array.add(new JsonPrimitive(yourString);

关于java - 使用 Gson 创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26684009/

相关文章:

Java在同一主机和端口上同一组中的多个多播套接字

java - 从 Jar Java 外部的配置文件中读取

java - Spring : detached entity passed to persist

android - 如果该字段在 json 中不存在,Gson 将默认 bool 值更改为 false

java - 使用 JackSon 删除 JSONArray 中的特定数组

android,gson无法将json字符串解析为java对象

java - 如何调用菜单抽屉上的 fragment ?

Javascript - 访问对象

javascript - 如何用javascript迭代json?

java - 在不使文本变灰的情况下在 JTextField 中设置文本颜色