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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章