首页 | 联系我们 | 叶凡网络官方QQ群:323842844
游客,欢迎您! 请登录 免费注册 忘记密码
您所在的位置:首页 > 开发语言 > Javascript > 正文

json 服务器端实例

作者:cocomyyz 来源: 日期:2013-07-25 02:31:43 人气:2 加入收藏 评论:0 标签:javascript

package com.handson.json;

import net.sf.json.*;
import java.util.*;

/**
* 将java的数据或对象转变成js可以用的数据或对象(json 服务器端实例)
*
* @author brj
*
*/
public class JSONTest {

/**
* 将Java中的数组转变成json中的数组
*/
public static void arrayToJson() {
  String[] kkname = { "CCED", "WPS", "WORD" };
  JSONArray jr = JSONArray.fromObject(kkname);
  System.out.println(jr);
  System.out.println("=========================================");
}

/**
* 将java的List中存的对象,转换成json中的对象数组
*/
public static void listToJson() {
  List<Book> bklist = new ArrayList<Book>();
  bklist.add(new Book("a1", "b", "111"));
  bklist.add(new Book("a2", "b", "111"));
  bklist.add(new Book("a3", "精通JAVA", "111"));
  JSONArray jr = JSONArray.fromObject(bklist);
  System.out.println(jr);
  System.out.println("=========================================");
}

/**
* 将json中的对象数组,转变成java中的List
*/
public static void createJson() {
  JSONArray jn = JSONArray
    .fromObject("[{name:'JAVA程序设计',isbn:'885596-99',author:'小东'},"
      + "{name:'Thinking in Java', isbn:'123456', author:'Bruce'},"
      + "{name:'VC++', isbn:'7-123-515', author:'Liming'}]");
  // 注意上面的字符串中,开头和结尾带 [ 或 ]
  // List a = (List) JSONArray.toList(jn, Book.class);//这种也可以,只是不推荐使用了
  List a = (List) JSONArray.toCollection(jn, Book.class);
  Book book = null;
  for (Iterator it = a.iterator(); it.hasNext();) {
   book = (Book) it.next();
   System.out.println(book.getName() + " - " + book.getAuthor()
     + " - " + book.getName());
  }
  System.out.println("=========================================");
}

/**
* map --> json
*/
public static void MapToJson() {
  Map map = new HashMap();
  map.put("name", "小裴");
  map.put("book", new Book("K语言程序设计", "李", "55588"));
  map.put("shoBookName", "function(){alert('测试')}");
  JSONObject jo = JSONObject.fromObject(map);
  System.out.println(jo);
  System.out.println("=========================================");
}

/**
* bean --> json
*/
public static void beanToJson() {
  JSONObject jo = JSONObject.fromObject(new Book("1", "3", "ABCd"));
  System.out.println(jo);
  System.out.println("=========================================");
}

/**
* json --> bean
*/
public static void jsonToBean() {
  JSONObject jo = JSONObject
    .fromObject("{name:'C++程序设计',isbn:'885596-989',author:'小东'}");
  Book book = (Book) JSONObject.toBean(jo, Book.class);
  System.out.println(book.getAuthor() + "-" + book.getName());
  System.out.println("=========================================");
}

/**
* bean --> json
*/
public static void beanToJson2() {
  Book book = new Book("isbn-1111", "Thinking in java", "Bruce");
  Publisher publisher = new Publisher("1001", "中国机械工业出版社", "北京",
    "010-111111");
  book.setPublisher(publisher);
  // JSONObject jo = JSONObject.fromObject(book);
  // //{"author":"Bruce","isbn":"isbn-1111","name":"Thinking in
  // java","publisher":{"address":"北京","code":"1001","name":"中国机械工业出版社","telephone":"010-111111"}}
  JSONArray jo = JSONArray.fromObject(book); // [{"author":"Bruce","isbn":"isbn-1111","name":"Thinking
  // in
  // java","publisher":{"address":"北京","code":"1001","name":"中国机械工业出版社","telephone":"010-111111"}}]

  System.out.println(jo);
  System.out.println("=========================================");
}

/**
* json --> bean
*/
public static void jsonToBean2() {
  // String json = "[{'author':'Bruce','isbn':'isbn-1111','name':'Thinking
  // in
  // java','publisher':{'address':'北京','code':'1001','name':'中国机械工业出版社','telephone':'010-111111'}}]";
  String json = "{'author':'Bruce','isbn':'isbn-1111','name':'Thinking in java','publisher':{'address':'北京','code':'1001','name':'中国机械工业出版社','telephone':'010-111111'}}";
  JSONObject jo = JSONObject.fromObject(json);
  // JSONArray jo = JSONArray.fromObject(json);
  // List list = (List)jo.toCollection(jo, Book.class);
  // Book book = (Book)list.get(0);
  Book book = (Book) JSONObject.toBean(jo, Book.class);
  System.out.println(book.getName());
  System.out.println(book.getPublisher().getName());
  System.out.println("=========================================");
}

/**
* main to test method
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
  arrayToJson();
  listToJson();
  createJson();
  MapToJson();
  beanToJson();
  jsonToBean();
  beanToJson2();
  jsonToBean2();
}
}




=====================================================

下面是用的Book类:

package com.handson.json;

public class Book {
private String name;
private String isbn;
private String author;
private Publisher publisher;

public Book() {

}

public Book(String isbn, String name, String author) {
  this.isbn = isbn;
  this.name = name;
  this.author = author;
}

public String getName() {
  return name;
}

public void setName(String name) {
  this.name = name;
}

public String getIsbn() {
  return isbn;
}

public void setIsbn(String isbn) {
  this.isbn = isbn;
}

public String getAuthor() {
  return author;
}

public void setAuthor(String author) {
  this.author = author;
}

public Publisher getPublisher() {
  return publisher;
}

public void setPublisher(Publisher publisher) {
  this.publisher = publisher;
}
}


本文网址:http://www.mingyangnet.com/html/js/134.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
更多>>网友评论
发表评论