目前大多數使用gson的還要求在java類中使用java annotation,不完全支援POJO。
Gson這個Java類庫可以把Java對象轉換成JSON,也可以把JSON字串轉換成一個相等的Java對象。Gson支援任意複雜Java對象包括沒有原始碼的對象。
代碼例子
/*<br /> * To change this template, choose Tools | Templates<br /> * and open the template in the editor.<br /> */</p><p>package com.test.json;</p><p>import com.google.gson.Gson;</p><p>/**<br /> *<br /> * @author ann<br /> */<br />public class JsonConverter {</p><p> public void toPerson(){<br /> String json = "{'data1':100,'data2':'hello','id':1}";<br /> Gson gson = new Gson();<br /> Person p = gson.fromJson(json, Person.class);<br /> System.out.println(" p :" +p.getId());<br /> System.out.println("p:"+p.getName());</p><p> }</p><p> public void toJsonString(){<br /> Person p = new Person();<br /> p.setId(1);<br /> Gson gson = new Gson();<br /> String s = gson.toJson(p,Person.class);<br /> System.out.println("s"+s);<br /> }</p><p> public static void main(String[] args) {<br /> JsonConverter convert = new JsonConverter();<br /> convert.toPerson();<br /> //convert.toJsonString();</p><p> }</p><p>}</p><p>/*<br /> * To change this template, choose Tools | Templates<br /> * and open the template in the editor.<br /> */</p><p>package com.test.json;</p><p>/**<br /> *<br /> * @author ann<br /> */<br />public class Person {<br /> private int id;<br /> private String name;</p><p> public String getName() {<br /> return name;<br /> }</p><p> public void setName(String name) {<br /> this.name = name;<br /> }</p><p> public int getId() {<br /> return id;<br /> }</p><p> public void setId(int id) {<br /> this.id = id;<br /> }</p><p>}</p><p>
下載http://code.google.com/p/google-gson/