2011-07-29 43 views
1

我尝试运行此代码,但得到了空例外。在Play框架中消费Json

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数组:

[{"name":"Ed","email":"[email protected]"},{"name":"Ez","email":"[email protected]"}] 

所以,请告诉如何JSON数组绑定到实体列表上播放框架 1.2 0.2。 谢谢...

回答

2

您已在您的读者配置中指定root: 'users'。这意味着,JSON数组应该是这样的:

{users: [{"name":"Ed","email":"[email protected]"},{"name":"Ez","email":"[email protected]"}]} 
+0

谢谢,但它不适合我,它是一个空列表。 – Koptan

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