java - 手动创建 Json 字符串

标签 java json gson

我正在尝试用 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/

相关文章:

java - 在android上动态创建按钮

java - 将 JSON 字符串转换为 json 对象

json - 重新部署到不同区域时出现 Azure 错误

json - Scala Play Json - 如何从数组中的元素读取单个元素?

java - gson 抛出 MalformedJsonException

Java : Replace \"with " and\/with/

java - 56 位 DES 被填充为 64 位,导致一字节解密不足

java - 在 hibernate 中使用 jpa 时获取 hibernate.properties not found 和 java.lang.NoClassDefFoundError

Java Tic Tac Toe 构造函数

java - 使用 Java 使用 GSON 反序列化 JSON 响应