java - 如何使用GSON将String数组数据正确编码为JSON?

标签 java json gson

我在 Java 项目中使用 GSON 以 JSON 格式对数据(从数据库获取并存储到 String 数组中)进行编码。一切看起来都不错,但问题在于 String 的大小。例如,我有以下 String 数组:

String [] data = new String[12];

假设我的 String 数组包含以下数据:{"ABC", "DEF", "GH", "IJ"}

那么编码后的 JSON 数据为:["ABC", "DEF", "GH", "IJ", "\u0000", null, null, null, null, null, null]

JSON 数据中空值的数量取决于我的 String 数组中可用数据的数量。

由于数据是从数据库检索的,因此我无法声明 String 数组的特定大小。

我使用以下代码将 String 数据编码为 JSON 格式。

Gson gs = new Gson();
gs.toJson(data); //data String array contains data from database

谁能告诉我如何从 JSON 数据中跳过/删除这些空值?

最佳答案

如果您不喜欢使用数组大小​​,请使用 ArrayList 并将数据库中的每个结果添加到其中。然后,当您完成数据库方面的事情后:

data = arrayList.toArray(new String[arrayList.size()]);

这可以保证 data 对象的大小正好适合保存您的数据。

关于java - 如何使用GSON将String数组数据正确编码为JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696090/

相关文章:

java - 火力地堡 "Map while deserializing, but got a class java.util.ArrayList"

java - 如何使用 javax.json 在 Java steam 中将编码类型设置为 JSON

java - 如何将我的 okhttp 响应转换为 Class 或 List<ClassName>?

json - 使用 GSON 创建 JSON-LD

java - 如何使用 Selenium WebDriver 选择组合框值,其中它是具有组合框角色的 div

java - NoClassDefFound错误: Failed resolution of: DataBinderMapper

java - 从 HTML 页面中提取段落

ios - NSDictionary objectForKey 返回错误值

web-services - JSON 更改 Rails 3 中的日期格式

java - 使用 Retrofit 和 Gson 以及返回动态顶级 JSON 的 api