2016-07-29 5 views
0

Я пытаюсь parse в JSON файл Java с GSON и у меня есть проблемаРазбор JSON файл в Java с GSON

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

Это мой Person класс

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" 
    ] 
} 

Выход [email protected]

Что я делаю неправильно?

+1

Вы можете добавить исключение, вы получите –

+0

я не получаю исключение, но выход неправильно Person @ 52b2a2d8 не должен быть выход. json file data? –

+0

, если вы не поместили результат или ошибку или исключение, мы не можем дать хороший ответ. –

ответ

2

называющие вопросы .... Вы должны убедиться, что 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; 

кроме того, вы должны Override toString метода йо ur Person class, чтобы получить хороший Печать

например.

добавить это в класс Person:

@Override 
    public String toString() { 

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

Если Person класс не имеет метод ToString, чем в результате курса заблагорассудится this.you нужно переопределить ToString() для этого.

Вы можете увидеть о ToString() здесь How to use the toString method in Java?

0

1) Ваши имена атрибутов должны совпадать с JSON значениями

2) Щелкните правой кнопкой мыши в затмении и генерировать toString() метод.

Ex: человек класс должен быть

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

    //Getters and setters 
} 
Смежные вопросы