json在java应用

应用json一般是这样情况。

1、页面上需要获取并显示列表。ajax从Url中获得json字符串。

然后页面需要json.js,链接是https://github.com/douglascrockford/JSON-js,选择zip。

测试

<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;
     }


猜你喜欢

转载自blog.csdn.net/penkee/article/details/8585134
今日推荐