【发布时间】:2016-01-14 19:01:19
【问题描述】:
所以我有一个方法。
public String getWidgetConfigAsString(List<DashboardColumn> dashboardList) {
Gson gson = new Gson();
JsonArray widgetConfigJson = gson.toJsonTree(dashboardList).getAsJsonArray();
for (int i = 0; i < widgetConfigJson.getAsJsonArray().size(); i++) {
System.out.println(widgetConfigJson.getAsJsonArray().get(i));
}
return widgetConfigAsString;
}
这个方法返回:
{"widgets":["notary_registry","notary_tasks"]}
{"widgets":["calendar"]}
{"widgets":[]}
这是一个 JSF 仪表板布局,基本上第一行是仪表板的第一列,依此类推。
我想要实现的是,只得到常规的多数组,它会给我这样的输出:
{["notary_registry","notary_tasks"]}
{["calendar"]}
{[]}
【问题讨论】:
-
返回是指在输出窗口中打印? JSON 是名称-值,因此如果您获得一个项目并打印它,您会期望获得名称-值。尝试使用 widgetConfigJson.getAsJsonArray().get(i).valueToString(),然后您可以根据需要适当添加 {[]}。
-
println() 现在只适合我,要查看输出,我想将输出存储到 String [] [] 并使用 toString();现在什么都没有改变。
-
那么为什么不分享您尝试用来创建输出的代码呢?您将代码打印共享到标准输出并返回空字符串,因此您会得到响应。分享您的代码,您一定会得到帮助来调整它以符合您的要求。但是首先尝试使用 valueToString 来获取每个单独的值。
-
是的.. 我尝试了一些“奇怪”的组合,比如将这个 JsonArray 拆分为一维数组.. 我可以得到我需要的输出,用写得很奇怪的代码,但我正在寻找一些高效的,如果有。和.. valueToString() 是给我编译错误。
标签: java arrays json multidimensional-array gson