我使用GSON,我試圖一串字符串值添加到JsonArray
這樣的:GSON Array對JsonArray
JsonArray jArray = new JsonArray();
jArray.add("value1");
的問題是,add方法只需要JsonElement
。
我試圖將一個字符串投入到JsonElement
但這沒有奏效。
我該如何使用Gson?
我使用GSON,我試圖一串字符串值添加到JsonArray
這樣的:GSON Array對JsonArray
JsonArray jArray = new JsonArray();
jArray.add("value1");
的問題是,add方法只需要JsonElement
。
我試圖將一個字符串投入到JsonElement
但這沒有奏效。
我該如何使用Gson?
您可以創建一個原始的這種意願包含字符串值,並將其添加到陣列:
JsonArray jArray = new JsonArray();
JsonPrimitive element = new JsonPrimitive("value1");
jArray.add(element);
看起來像你應該做一個new JsonPrimitive("value1")
並補充說。 見The javadoc
我希望這樣的事情自己:
JsonObject jo = new JsonObject();
jo.addProperty("strings", new String[] { "value1", "value2" });
但不幸的ISN不支持GSON,所以我創建了這個幫手:
public static void Add(JsonObject jo, String property, String[] values) {
JsonArray array = new JsonArray();
for (String value : values) {
array.add(new JsonPrimitive(value));
}
jo.add(property, array);
}
然後像這樣使用它:
JsonObject jo = new JsonObject();
Add(jo, "strings", new String[] { "value1", "value2" });
瞧!
對於較新版本的gson庫,現在我們可以添加字符串了。它也支持擴展添加布爾,字符,數字等
使用現在這個工作對我來說:
JsonArray msisdnsArray = new JsonArray();
for(String msisdn : msisdns) {
msisdnsArray.add(msisdn);
}
爲什麼會這樣** **得離譜有悖常理? – allidoiswin
爲什麼文檔告訴我們有一個JsonArray.add(String)?!? –