如何将两个json元素转换为一个,第一个元素的名称和第二个元素的值。

问题描述 投票:0回答:1

我试图制作设置文件,得到的结果是这样的。

   [
      {
        "name": "Test1",
        "value": true
      },
      {
        "name": "Test2",
        "value": 1.7
      }
    ]

我想得到的是这样的东西。

{
    "Test1": true,
    "Test2": 1.7
}

正如你所看到的,第二个更好,也更容易得到数据。 我正在转换这个文件 设置 对象转换成JSON,并将 名称价值 变量被放入不同的元素中。

这是我的代码。

public class SettingsFile {
    public ArrayList<Setting> settings = new ArrayList<>();

    private Gson gson = new GsonBuilder().setPrettyPrinting().create();

    private final String path;

    public SettingsFile(String path) {
        this.path = path;
    }

    public void save() {
        try {
            FileWriter fileWriter = new FileWriter(path);
            gson.toJson(settings, fileWriter);
            fileWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

这里是... 设置 类。

public class Setting<type> {
    private type value;
    private String name;
    public Setting(String name) {
        this.name = name;
    }

    public Setting<type> set(type value) {
        this.value = value;
        return this;
    }

    public type get() {
        return value;
    }
}
java json gson
1个回答
0
投票

你可以使用 Map 而不是 Setting 类。

ArrayList<Map<String, Object>> settings = new ArrayList<>();
© www.soinside.com 2019 - 2024. All rights reserved.