簡體   English   中英

使用GSON將JSON文件解析為Java

[英]Parsing JSON File to Java with GSON

我正在嘗試使用GSONJSON文件parse為Java, GSONGSON問題

Gson gson = new GsonBuilder().create();
Person p1 = gson.fromJson(new FileReader("/Users/blabla/Desktop/person.json"), Person.class);
System.out.println(p1);

這是我的人班

public class Person {
    private String name;
    private int age;
    private List<String> Friends; 

    //Getters and setters

這是我的JSON文件

{
  "Name":"TEXT",
  "Weight":95,
  "Height":1.87,
  "Friends":[
    "FRIEND1",
    "FRIEND2",
    "FRIEND3"
  ]
}

輸出為Person@52b2a2d8

我究竟做錯了什么?

命名很重要。...您需要確保JSON keys與您的類attributes (小寫/大寫)相同,等等。

要么將您的JSON更改為

{ "name":"TEXT", "Weight":95, "Height":1.87, "Friends": [ "fRIEND1", "FRIEND2", "FRIEND3" ] }

或更改您的Person class屬性

private String Name;
private int age;
private List<String>Friends; 

另外,您需要在Person class Override toString方法以獲得漂亮的Print

例如

將此添加到您的Person類:

    @Override
    public String toString() {

        return (name + " : " + age + " : " + Friends);
    }

如果Person類沒有toString方法,那么結果當然會像這樣。您需要為此重寫toString()。

您可以在此處查看有關toString()的信息如何在Java中使用toString方法?

1)您的屬性名稱應與JSON值匹配

2)右鍵單擊eclipse並生成toString()方法。

例如:人類應該是

public class Person {
    String name;
    int age;
    List<String> friends

    //Getters and setters
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM