使用Json-lib產生JSON文本

來源:互聯網
上載者:User

Json-lib測試類別,如下

package com.jadyer.json;</p><p>import java.util.ArrayList;<br />import java.util.HashMap;<br />import java.util.HashSet;<br />import java.util.List;<br />import java.util.Map;<br />import java.util.Set;</p><p>import net.sf.json.JSONArray;<br />import net.sf.json.JSONObject;</p><p>import com.jadyer.model.Student;<br />import com.jadyer.model.Teacher;</p><p>/**<br /> * Java對JSON的支援不止體現在Json-lib上面,更多資訊請訪問http://www.json.org<br /> * @see 另外還有一款更為強悍的工具包Jackson,其官方網站為http://jackson.codehaus.org<br /> * @see 網上曾有人做過測試,得到結論Jackson>Gson>Json-lib,詳情參見http://wangym.javaeye.com/blog/738933<br /> * @see Json-lib可以將Java中的entity、map、collection、數組和XML轉換成JSON資料格式<br /> * @see 注意json-lib-2.4-jdk15.jar還需要依賴其它的Jar包<br /> * @see 依賴ezmorph-1.0.6、commons-lang-2.5、commons-beanutils-1.8.0、commons-collections3.2.1、commons-logging-1.1.1<br /> * @see Json-lib的官方網站為http://json-lib.sourceforge.net<br /> * @see ezmorph的官方網址為http://ezmorph.sourceforge.net<br /> */<br />public class JsonLibDemo {<br />public static void main(String[] args) {<br />testJavaBean();<br />testMap();<br />testArray();<br />}</p><p>public static void testJavaBean(){<br />Student stu = new Student("沈浪", 22);<br />JSONObject jsonObject = JSONObject.fromObject(stu);<br />System.out.println(jsonObject.toString());</p><p>Teacher teacher = new Teacher();<br />teacher.setName("張起靈");<br />teacher.getStudents().add(new Student("吳邪", 25));<br />teacher.getStudents().add(new Student("黑眼鏡", 26));<br />teacher.getStudents().add(new Student("陳文錦", 27));<br />JSONObject jsonObject22 = JSONObject.fromObject(teacher);<br />System.out.println(jsonObject22.toString());<br />}</p><p>public static void testMap(){<br />Map<String, Object> map = new HashMap<String, Object>();<br />map.put("name", "悶油瓶");<br />map.put("favorate", new String[]{"睡覺", "發獃", "耍酷"});<br />map.put("getFavorate", "function(i){return this.favorate[i]}");<br />JSONObject jsonObject = JSONObject.fromObject(map);<br />System.out.println(jsonObject);<br />}</p><p>public static void testArray(){<br />String[] users = {"趙紅兵", "小北京", "東霸天"};<br />JSONArray jsonArray = JSONArray.fromObject(users);<br />System.out.println(jsonArray.toString());</p><p>Integer[] numbers = {1, 2, 3};<br />jsonArray = JSONArray.fromObject(numbers);<br />System.out.println(jsonArray.toString());</p><p>Boolean[] booleanArray = {true, false, false, true};<br />jsonArray = JSONArray.fromObject(booleanArray);<br />System.out.println(jsonArray.toString());</p><p>List<String> list = new ArrayList<String>();<br />list.add("張小凡");<br />list.add("林驚羽");<br />list.add("萬人往");<br />jsonArray = JSONArray.fromObject(list);<br />System.out.println(jsonArray.toString());</p><p>Set<Student> students = new HashSet<Student>();<br />students.add(new Student("盧易之", 25));<br />students.add(new Student("玉姣龍", 26));<br />students.add(new Student("金羽鳳", 27));<br />jsonArray = JSONArray.fromObject(students);<br />System.out.println(jsonArray.toString());<br />}<br />}

 

用到的實體類

package com.jadyer.model;<br />public class Student {<br />private String name;<br />private Integer age;<br />/* 兩個屬性的getter和setter方法略 */<br />public Student(){}<br />public Student(String name, Integer age){<br />this.name = name;<br />this.age = age;<br />}<br />}</p><p>package com.jadyer.model;<br />import java.util.HashSet;<br />import java.util.Set;<br />public class Teacher {<br />private String name;<br />private Set<Student> students = new HashSet<Student>();<br />/* 兩個屬性的getter和setter方法略 */<br />}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.