在这个方法中,我有一个字符串数组,即barchartLabels。我想将此数组添加到jsonObject:
预期输出为:
{"数据" :" [" 1月"," 2月"," 3月"," 4月"," 5月","六月","七月" ]" }
public String array() {
JsonArray roleArray = new JsonArray();
String barChartLabels[] = {"January", "February", "March", "April", "May", "June", "July"};
Gson listG = new Gson();
JsonObject jsonObj = new JsonObject();
String list2 = listG.toJson(barChartLabels);
jsonObj.addProperty("data", list2);
roleArray.add(jsonObj);
return jsonObj.toString();
}
在上面的方法中,我使用Gson对象将barchartLabels转换为字符串,然后使用jsonObject添加它。但我得到的输出如下所示。还有其他方法可以做上面提到的吗?
{"数据" :" [\" 1月\",\" 2月\",\" 3月\",\" 4月\",\ " 5月\",\" 6月\",\" 7月\" ]" }
答案 0 :(得分:2)
数据是String
,而不是String[]
,因此所有引号都会被转义。如果你想要String[]
只是
JsonArray data = new JsonArray();
Stream.of(barChartLabels)
.forEach(data::add);
jsonObj.add("data", data);
listG.toJson正在将其转换为JSON字符串,因此当您添加它时,它是一个字符串。只需跳过该步骤并直接添加
即可