在Play Framework中使用Json

时间:2011-07-29 05:52:57

标签: java extjs playframework

我尝试运行此代码但是我得到了一个N​​ull Exception。

Java代码:

public static void updateData(List<Users> users){ 
   for(Users u : users){ //Error 
      System.out.println(u.name); // Error 
   } 
}

Extjs代码:

proxy: { 
    type: 'ajax', 
    api: { 
        update: '/Application/updateData' 
    }, 
    reader: { 
        type: 'json', 
        root: 'users', 
        successProperty: 'success' 
    } 
  }

Json Array:

[{"name":"Ed","email":"a...@aa.com"},{"name":"Ez","email":"b...@bb.com"}] 

所以请告诉我们如何将json数组绑定到Play Framework上的实体列表 1.2.2。 谢谢......

2 个答案:

答案 0 :(得分:2)

您已在阅读器的配置中指定了root: 'users'。这意味着JSON数组应如下所示:

{users: [{"name":"Ed","email":"a...@aa.com"},{"name":"Ez","email":"b...@bb.com"}]}

答案 1 :(得分:0)

你必须使用Gson:

List<User> userList = new Gson().fromJson(yourString, Users.class);

并拥有适合您的JSON的用户类:

public class Users {
    private String name;
    private String email;
    ...
    //[Add your getter and setter]
    ...
}

有关详细信息,请阅读GSON documentation