關於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);
}
}