前提・実現したいこと
https://api.hypixel.net/skyblock/bazaar
のデータをシリアライズする方法を教えていただきたいです。
いくつかコードを書いて試してみましたが、うまくいきませんでした
試したコードはこんな感じです。
java
1class Model{ 2 @SerializedName("success") 3 String success; 4 @SerializedName("lastUpdated") 5 long lastUpdated; 6 @SerializedName("products") 7 Products products; 8 class Products{ 9 List<Product> products; 10 class Product{ 11 @SerializedName("product_id") 12 String product_id; 13 @SerializedName("sell_summary") 14 List<A_p_o> sell_sum; 15 @SerializedName("buy_summary") 16 List<A_p_o> buy_sum; 17 @SerializedName("quick_status") 18 Quickstats quick; 19 class A_p_o{ 20 @SerializedName("amount") 21 long amount; 22 @SerializedName("pricePerUnit") 23 double PricePerUnit; 24 @SerializedName("orders") 25 int orders; 26 } 27 } 28 class Quickstats{ 29 @SerializedName("productId") 30 String productId; 31 @SerializedName("sellPrice") 32 double sprice; 33 @SerializedName("sellVolume") 34 long svolume; 35 @SerializedName("sellMovingWeek") 36 long smoving_week; 37 @SerializedName("sellOrders") 38 int sorders; 39 @SerializedName("buyPrice") 40 double bprice; 41 @SerializedName("buyVolume") 42 long bvolume; 43 @SerializedName("buyMovingWeek") 44 long bmoving_week; 45 @SerializedName("buyOrders") 46 int borders; 47 } 48 } 49} 50StringBuilder sb=new StringBuilder(); 51sb.append(・・・); 52Model obj = new Gson().fromJson(sb.toString(),Model.class);
発生している問題・エラーメッセージ
しかしこの方法でシリアライズしてみたところ、products.products以降がnullになってしまいました。
もちろん、以下のようにいくつか商品名をハードコーディングしてみたところ、うまくはいきましたが、量が多いため、現実的でないと思い、避けたいと思います。
java
1class Model{ 2 @SerializedName("success") 3 String success; 4 @SerializedName("lastUpdated") 5 long lastUpdated; 6 @SerializedName("products") 7 Products products; 8 class Products{ 9 @SerializedName("BROWN_MUSHROOM") 10 Product brown; 11 @SerializedName("INK_SACK:3") 12 Product ink3; 13 class Product{ 14 @SerializedName("product_id") 15 String product_id; 16...
###そのため、現実的な形でデータをシリアライズする方法を教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/20 09:12