我的目標是導入一個JSON文件,並且對於JSON對象的每個元素,我想爲每個元素類型創建一個數組。如果這樣做沒有意義,那麼我希望做的是以下幾點:如何使用Gson字符串爲每種類型創建一個字符串數組?
鑑於JSON文件中下面的文字:
...,
{
"baseLevel": 50,
"difficulty": 233,
"durability": 80,
"level": 70,
"maxQuality": 2921,
"name": {
"de": "Trauzeugen-Jacke",
"en": "Best Man's Jacket",
"fr": "Veste de témoin",
"ja": "??????????"
},
"stars": 2
}
,...
我有一個包含我的JSON文件中的大量條目上面的信息,我希望做的是爲每種類型創建一個數組,例如baseLevel,難度,耐久性,級別,maxQuality和name(en),但是我完全喪失瞭如何做到這一點。
我此刻的設置是(使用GSON):
JsonElement jsonElement = parser.parse(in);
prettyJson[i] = gson.toJson(jsonElement);
我不知道我是否意味着要使用jsonElement或prettyJson []構建我希望創建的陣列,讓獨自如何。我試着做一些研究,但沒有任何運氣或發現任何似乎與我正在嘗試做的事情有關的例子。
如果任何人都能指引我走向正確的方向,或者提供一個如何實現我的目標將是偉大的例子。
謝謝大家!
EDIT1: 我相信我有固定的我的第一個問題,並創建一個包含所有的「恩」字段通過下面的代碼JsonElement:
JsonParser parser = new JsonParser();
JsonElement jsonElement = parser.parse(in);
JsonArray recipe_array = jsonElement.getAsJsonArray();
for (Object o : recipe_array) {
JsonObject recipe = (JsonObject) o;
JsonElement names = recipe.get("name");
String names_s = names.toString();
JsonElement names_e = parser.parse(names_s).getAsJsonObject().get("en");
System.out.println(names_e);
}
我現在不知道如何轉換這到一個字符串數組(如果它甚至可能?),因爲我試圖將names_e轉換爲JsonArray時出現異常錯誤。
MyItemList是一個特定的類嗎?因爲我不確定如何應用它? – TMP4
MyItemList將是您的根對象的類。只需要一個包含所有項目的ArrayList的類。 – Dnakin
謝謝,我結束了搜索,並設法將第一個字符串轉換爲字符串,然後將其重新解析爲一個對象,然後我只選擇了「en」部分。從這我能夠將它轉換成一個字符串數組,用於填充我的下拉菜單。 – TMP4