1、页面上需要获取并显示列表。ajax从Url中获得json字符串。
- <html>
- <head>
- <title>json测试</title>
- <script src="json.js" type="text/javascript"></script>
- <style type="text/css">
- #tlist thead tr{ background-color:#ccc}
- #tlist table{ width:300px}
- </style>
- </head>
- <body>
- <div id="tlist">
- </div>
- <script>
- var str='[{"age":12,"firstName":"yang","lastName":"guang"},{"age":32,"firstName":"yang1","lastName":"guang1"},{"age":42,"firstName":"yang2","lastName":"guang2"}]';
- var obj = str.parseJSON(str); //由JSON字符串转换为JSON对象
- var html = "<table cellspacing=0 cellpadding=0><thead> <tr><td>姓</td><td>名</td><td>年龄</td></tr></thead> <tbody>";
- for (v = 0; v < obj.length; v++){
- html += "<tr>";
- html += "<td>" + obj[v].firstName + "</td>";
- html += "<td>" + obj[v].lastName + "</td>";
- html += "<td>" + obj[v].age + "</td>";
- html += "</tr>";
- }
- html += "</tbody></table>";
- document.getElementById("tlist").innerHTML = html;
- </script>
- </body>
- </html>
2、页面上js拼出json字符串传给后台。
字符串格式:
[
{"age":12,"firstName":"yang","lastName":"guang"},
{"age":32,"firstName":"yang1","lastName":"guang1"},
{"age":42,"firstName":"yang2","lastName":"guang2"}
]
后台bean
- public class User {
- private String firstName;
- private String lastName;
- private int age;
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
测试,假设从jsp页面传过来
- public String getJson() {
- StringBuilder sb=new StringBuilder();
- sb.append("[ ");
- sb.append("{\"firstName\":'yang',\"lastName\":'guang',\"age\":12},");
- sb.append("{\"firstName\":'yang1',\"lastName\":'guang1',\"age\":32},");
- sb.append("{\"firstName\":'yang2',\"lastName\":'guang2',\"age\":42},");
- sb.append("]");
- return sb.toString();
- }
- /**
- * list转成json字符串,第一种情况
- */
- public void listToJsonstr(){
- JSONArray jsonObject = JSONArray.fromObject(jsonstrToList());
- System.out.println(jsonObject);
- }
- /**
- * 前端传来字符串转成list,第二种情况
- * @return
- */
- public List<User> jsonstrToList(){
- List<User> list=new ArrayList<User>();
- JSONArray jsonArray = JSONArray.fromObject(getJson() );
- for(int i=0;i<jsonArray.size();i++){
- JSONObject jsonobject=jsonArray.getJSONObject(i);
- list.add((User)JSONObject.toBean(jsonobject, User.class));
- }
- for(int i=0;i<list.size();i++){
- System.out.println( list.get(i).getFirstName() );
- }
- return list;
- }