无法从hashmap和gson获取正确的json

我正在使用GSON和hashmap从pojo类获取一些json。这是Pojo类

public class NetworkConfiguration {

    @SerializedName("GUID")
    @Expose
    private String gUID;
    @SerializedName("Name")
    @Expose
    private String name;
    @SerializedName("Type")
    @Expose
    private String type;
    @SerializedName("WiFi")
    @Expose
    private WiFi wiFi;

    public NetworkConfiguration() {
    }
    public NetworkConfiguration(String gUID, String name, String type, WiFi wiFi) {
        super();
        this.gUID = gUID;
        this.name = name;
        this.type = type;
        this.wiFi = wiFi;
    }

    public String getGUID() {
        return gUID;
    }

    public void setGUID(String gUID) {
        this.gUID = gUID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public WiFi getWiFi() {
        return wiFi;
    }

    public void setWiFi(WiFi wiFi) {
        this.wiFi = wiFi;
    }

}

这就是我试图获得JSON的方法

  WiFi wiFi = new WiFi();
                        wiFi.setPassphrase(open_network_configuration_wifi_password_edit.getText().toString());
                        wiFi.setSecurity(spinner_open_network_configuration_wifi_security.getSelectedItem().toString());
                        wiFi.setSSID(open_network_configuration_wifi_ssid_edit.getText().toString());
                        if (open_network_configuration_wifi_autoconnect_option.isChecked()) {
                            wiFi.setAutoConnect(true);
                        } else {
                            wiFi.setAutoConnect(false);
                        }
                        Map<String, Object> openNetworkConfigurationMap = new HashMap<>();

                        networkConfigurations.add(new NetworkConfiguration(open_network_configuration_guid_edit.getText().toString(),
                                open_network_configuration_name_edit.getText().toString(), "WiFi", wiFi));
                        Gson gson = new Gson();
                        String json = gson.toJson(networkConfigurations);
                        Map<String,Object> result = new Gson().fromJson(json, Map.class);

                        openNetworkConfigurationMap.put("NetworkConfigurations", json);

这就是我所得到的

NetworkConfigurations= [{
    "GUID": "a",
    "Name": "Example A",
    "Type": "WiFi",
    "WiFi": {
      "SSID": "Example A",
      "Security": "None",
      "AutoConnect": true
    }
  }]

这是错误的。这就是我所期待的

"NetworkConfigurations": [{
    "GUID": "a",
    "Name": "Example A",
    "Type": "WiFi",
    "WiFi": {
      "SSID": "Example A",
      "Security": "None",
      "AutoConnect": true
    }
  }]

主要是担心我会得到一个等号=,但它应该是NetworkConfigurations之后的:,任何形式的帮助都将不胜感激。提前感谢

转载请注明出处:http://www.hbbinz.com/article/20230526/2424334.html