[OK]をクリックすると、そのような質問の多くが尋ねられましたが、他の質問はありません。 GSONを使ってJSONファイルを解析するにはどうすればいいか知りたい。GSONを使用しているときにBEGIN_ARRAYがBEGIN_OBJECTになる
{
"BUYER": {
"IGN": "MGlolenstine",
"ProductID": "51"
},
"BUYER": {
"IGN": "MGlolenstine",
"ProductID": "55"
},
"BUYER": {
"IGN": "MGlolenstine",
"ProductID": "0"
},
"BUYER": {
"IGN": "MGlolenstine",
"ProductID": "51"
},
"BUYER": {
"IGN": "MGlolenstine",
"ProductID": "56"
}
}
私はこのコード
Scanner scanner = new Scanner(new File(path));
String text = scanner.useDelimiter("\\A").next();
Gson gson = new GsonBuilder().create();
ArrayList<Purchases> p = gson.fromJson(new FileReader(path), Purchases.class);
for(int i = 0; i < p.size(); i++){
arg0.sendMessage(ChatColor.GOLD+"Player: "+p.get(i).BUYER.IGN);
arg0.sendMessage(ChatColor.GOLD+"ProductID: "+String.valueOf(p.get(i).BUYER.ProductID));
}
scanner.close();
を使用する場合、私は
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 2 column 12
ここだけのJSONコードのために私が持っているクラスを投稿
public class Purchases{
PlayerRank BUYER;
}
public class PlayerRank{
String IGN;
int ProductID;
}
エラーを取得するために
問題はおそらく私がJS ON配列とオブジェクトは同じように見えます。 誰かがJSONコードのJSONArrayとJSONObjectの違いを説明できますか?
ありがとうございます。
EDITは:これは、固定されたJSON
{
"buyers" : [
{ "IGN" : "MGlolenstine", "ProductID" : "51" },
{ "IGN" : "MGlolenstine", "ProductID" : "55" },
{ "IGN" : "MGlolenstine", "ProductID" : "0" },
{ "IGN" : "MGlolenstine", "ProductID" : "51" },
{ "IGN" : "MGlolenstine", "ProductID" : "56" }
]
}である
固定Javaコード:
Scanner scanner = new Scanner(new File(path));
String text = scanner.useDelimiter("\\A").next();
Gson gson = new GsonBuilder().create();
Purchases p = gson.fromJson(new FileReader(path), Purchases.class);
for(int i = 0; i < p.buyers.length; i++){
arg0.sendMessage(ChatColor.GOLD+"Player: "+p.buyers[i].IGN);
arg0.sendMessage(ChatColor.GOLD+"ProductID: "+String.valueOf(p.buyers[i].ProductID));
}
そして最後のクラス:すべての人へ
public class Purchases{
PlayerRank buyers[];
}
public class PlayerRank{
String IGN;
int ProductID;
}
感謝助けを求めて!
あなたはPuchasesクラスを投稿することができます。私がJSON形式について投稿したもののほかに、gsonに渡すクラスはファイルをミラーリングする必要があります。 – Juan
質問にクラスの部分を追加しました。お返事ありがとうございました –