我正在尝试用 Java 手动创建 Json 结构。最后,我需要 Json 对象的字符串表示形式。由于我的项目已经依赖 GSON,所以我想使用它。但经过几个小时的尝试和谷歌搜索,我想,我完全误解了一些东西。
目前,我有以下(非工作)代码:
JsonObject user_auth = new JsonObject();
user_auth.addProperty("user_name", username);
user_auth.addProperty("password", password);
JsonObject rest_data = new JsonObject();
Gson gson = new Gson();
rest_data.addProperty("user_auth", gson.toJson(user_auth));
rest_data.addProperty("application", APPLICATION_NAME);
String payload = gson.toJson(rest_data);
我面临的问题是“user_auth”元素被转义引号(\"而不是 "当它被添加到外部元素时。我该如何防止这种情况发生? 我也试过用
rest_data.addProperty("user_auth", user_auth.toString());
但这完全一样。
问候,
最佳答案
手动编写 JSON 不是一个好的解决方案。
看来你对 user_auth 进行了两次编码。
试试这个:
JsonObject user_auth = new JsonObject();
user_auth.addProperty("user_name", username);
user_auth.addProperty("password", password);
JsonObject rest_data = new JsonObject();
rest_data.addProperty("user_auth", user_auth);
rest_data.addProperty("application", APPLICATION_NAME);
Gson gson = new Gson();
String payload = gson.toJson(rest_data);
关于java - 手动创建 Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20904344/