java - 组合 2 个 JSON 对象(无需数组)

标签 java arrays json gson

我希望获得如下 JSON 输出,我认为这是两个对象的组合,而不使用数组。如何获得以下输出?

{
    "AppData": {
        "status": "****",
        "message": [
            ""
        ]
    },
    "Data": {
        "token": "****"
    }
}

我尝试了数组方式,如果我去掉“[”和“]”,那么它将变成无效的JSON。

我的代码如下

public Response getSAppData(int id, String email, String password){
    Map<String, AppData> AppDataHM = new HashMap<String, AppData>(); 
    Map<String, Data> DataHM1 = new HashMap<String, Data>();

    Data data = DataHM.get(new AppDataRequest (id, email, password));
    List<String> message = new ArrayList<>();

    message.add("");
    AppDataHM.put("AppData", new AppData("success", message));
    DataHM1.put("Data", data);
    String AppDataJO = new Gson().toJson(AppDataHM);
    String DataJO = new Gson().toJson(DataHM1);
    String ADJODJOA = "["+AppDataJO+","+DataJO+"]"; 
    return Response.status(200).entity(ADJODJOA).build();
}

我的代码的输出如下

[
  {
    "AppData": {
      "status": "success",
      "message": [
        ""
      ]
    }
  },
  {
    "Data": {
      "token": "token1"
    }
  }
]

预先感谢您的回复和解答。

最佳答案

全部。我找到了一种解决方案,首先将两个 HashMap 合并为一个,然后仅将其转换为对象。 下面是我的代码。

Map<String, AppData> AppDataHM = new HashMap<String, AppData>(); 
Map<String, Data> DataHM1 = new HashMap<String, Data>();

Map ADHMDHM = new HashMap<>();

Data data = DataHM.get(new AppDataRequest (id, email, password));
List<String> message = new ArrayList<>();

message.add("");
AppDataHM.put("AppData", new AppData("success", message));
DataHM1.put("Data", data);
ADHMDHM.putAll(AppDataHM);
ADHMDHM.putAll(DataHM1);
String ADHMDHM1 = new Gson().toJson(ADHMDHM);

关于java - 组合 2 个 JSON 对象(无需数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43409088/

相关文章:

java - 将单元格数组值提取为 java 数据类型

java - "Hello World"使用 Spring MVC 的 SOAP Web 服务

python - 使用 NumPy 查找数组中最大值的索引

json - 使用 Scala 进行无噪音 JSON 处理

javascript - 在 IE 和 FF 中执行 js 速度慢

java - 带套接字的简单 Java HTTP 代理卡住,没有错误消息

c - 使用指向现有数组的指针初始化数组

php - 返回数组数组 nusoap php web 服务

java - 尝试插入 json 数组时出现数据插入错误?

java - ElasticSearch RestHighLevelClient 抛出 java.io.IOException : Connection reset by peer