2015-06-08 7 views
0

Я применяю свои навыки поиска на уровне эксперта безрезультатно, поэтому Stackoverflow мне нужна ваша помощь.GSON - объект JSON для Java

Я хочу преобразовать свой объект json в объект java в java.

объекта JSON выглядит как ... - { «пароль»: «б», «Имя пользователя»: «а»}

и заявление для печати, как только я «попытку», чтобы преобразовать его в ... username = b password = null

Мой вопрос: почему это происходит и как я могу решить проблему? (Код следует)

Gson gson = new Gson(); 
    JSONObject jObj = new JSONObject(request.getParameter("input")); 
    User user = gson.fromJson(jObj.toString(), User.class); 

    System.out.println(user.getPassword()); 
    System.out.println(user.getUsername()); 

и класс «модель» ....

public class User { 
private String username; 
private String password; 

public User(String uName, String pWord){ 
    this.username = uName; 
    this.password = pWord; 
} 

public void setUsername(String uName){ 
    username = uName; 
} 

public String getUsername(){ 
    return username; 
} 

public void setPassword(String pWord){ 
    password = pWord; 
} 

public String getPassword(){ 
    return password; 
} 
} 
+0

'username' или' userName'? –

+0

Как полагает @SotiriosDelimanolis, дело имеет значение! Ознакомьтесь с документацией GSON для аннотирования полей, если вы хотите иметь другой случай (или совершенно другое имя) для поля объекта домена, чем используется в JSON. –

+0

Ah Любительская ошибка, опечатка в инициализации объекта json. Спасибо Sotirios, я нашел проблему! – user3904388

ответ

0

Решение в данном случае было связано с отображением в формате JSON как «имя пользователя», когда он должен иметь было 'username'

см. комментарии для получения дополнительной информации.

, надеюсь, другие пользователи считают это полезным ресурсом.

Смежные вопросы