jsonlib插件的使用

首先导入六个jar包,jar包的名字如下,主要jar包是json-lib-2.4-jdk15.jar其他jar包是其依赖的jar包.


    关于jsonlib插件的使用:

        1.导包(6个包)

        2.将java对象转换成json

            -->1.对于数组,List集合,要想转换成json

                  JSONArray.fromObject(java对象);    ["value1","value2"]

            -->2.对于JavaBean,Map

                   JSONObject.fromObject(JavaBean对象);    {name1:value1,name2:value2}

对于json数据,它只有两种格式

           -->1.[值1,值2,...]        ------>这就是JavaScript中的数组.

           -->2.{name:value,...}        ------>就是JavaScript中的对象.

            但是这两种格式可以嵌套.

            [{},{},{}]

            {name:[],name:[]}

        3.如果JavaBean中有一个属性,不想生成在json中,怎样处理?

        JsonConfig config = new JsonConfig();

        config.setExcludes(new String[] {"type"});

        JSONArray.fromObject(ps,config).tostring();

        上述代码就是在生成json时,不将type属性包含.

然后创建一个jsonLibTest.java的类.

package cn.com.jsonlib;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

import org.junit.Test;

import cn.com.domain.Product;

public class JsonLibTest {

	// 将数组转换成json
	@Test
	public void fun1() {
		String[] st = { "aaa", "bbb", "ccc" };
		String json = JSONArray.fromObject(st).toString();

		System.out.println(json); // ["aaa","bbb","ccc"]
	}

	// 将List集合转换成json
	@Test
	public void fun2() {
		List<String> list = new ArrayList<String>();
		list.add("111");
		list.add("222");
		list.add("333");

		String json = JSONArray.fromObject(list).toString();

		System.out.println(json); // ["111","222","333"]
	}

	// 将一个javaBean转换成json
	@Test
	public void fun3() {
		Product p = new Product(1, "电冰箱", 1800);
		String json = JSONObject.fromObject(p).toString();

		System.out.println(json); // {"id":1,"name":"电冰箱","price":1800}
	}

	// 如果List<Product>
	@Test
	public void fun4() {
		List<Product> ps = new ArrayList<Product>();
		ps.add(new Product(1, "洗衣机", 1800));
		ps.add(new Product(2, "电视机", 3800));
		ps.add(new Product(3, "空调", 5800));

		JsonConfig config = new JsonConfig();
		config.setExcludes(new String[] { "type" });

		String json = JSONArray.fromObject(ps, config).toString();

		System.out.println(json);
	}

	// map集合转换成json
	@Test
	public void fun5() {
		Map<String, String> map = new HashMap<String, String>();
		map.put("aaa", "1111");
		map.put("bbb", "222");
		System.out.println(JSONObject.fromObject(map).toString());
	}

	// 将json转换成java
	@Test
	public void fun6() {
		Product p = new Product(1, "电冰箱", 1800);
		JSONObject jsonObj = JSONObject.fromObject(p);

		// 将jsonObj在转换成java对象
		Product pp= (Product) JSONObject.toBean(jsonObj,Product.class);
		
		System.out.println(pp);
	}
}

下面是每个方法在控制台的输出效果.



猜你喜欢

转载自blog.csdn.net/superman___007/article/details/80773167