3 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用toJsonTree方法:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import java.util.Date;
public class GsonApp {
public static void main(String[] args) {
GsonApp app = new GsonApp();
System.out.println(app.createArgsJsonArray("text", 1, 12.2D));
System.out.println(app.createArgsJsonArray(new Date(), new A(), new String[] {"A", "B"}));
}
private Gson gson = new GsonBuilder().create();
private JsonArray createArgsJsonArray(Object... argVals) {
JsonArray argsArray = new JsonArray();
for (Object arg : argVals) {
argsArray.add(gson.toJsonTree(arg));
}
return argsArray;
}
}
class A {
private int id = 12;
}
上面的代碼打印:
["text",1,12.2]
["Sep 19, 2019 3:25:20 PM",{"id":12},["A","B"]]

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果你想最終得到一個(gè)字符串,只需執(zhí)行以下操作:
private String createArgsJsonArray(Object... argVals) {
Gson gson = new Gson();
return gson.toJson(argVals);
}
如果您想收回并更改它,只需執(zhí)行以下操作:
Object[] o = new Gson().fromJson(argValsStr, Object[].class);

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
嘗試使用setPrettyPrinting轉(zhuǎn)義DisableHtml。
Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(jsonArray.toString());
System.out.println( gson.toJson(je));
添加回答
舉報(bào)