关于json插件使用:
在java中,可以通过jsonlib插件,在java对象与json之间做转换。
关于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属性包含.
示例代码如下:
package cn.jsonlib;
import cn.domain.Product;
import jdk.nashorn.internal.runtime.JSONListAdapter;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
/**
* jsonlibjar测试
*/
public class JsonLibTest {
@Test
public void test1() {
//将数组转换成json
String[] arr = {"saasa","dsd","dsdas"};
String json = null;
json = JSONArray.fromObject(arr).toString();
System.out.println(json);
}
@Test
public void test2() {
//将List集合转换成json对象
List<String> list = new ArrayList<String>();
list.add("shasd");
list.add("sdjiakd7");
list.add("fasifn");
JsonConfig config = new JsonConfig();
//设置不包含type属性
config.setExcludes(new String[] {"type"});
String json = JSONArray.fromObject(list,config).toString();
System.out.println(json);
}
@Test
public void test3() {
//将javaBean转换成Json
Product p = new Product(1,"aa","bb");
String json = JSONArray.fromObject(p).toString();
System.out.println(json);
}
}