json相关笔记

来源:互联网 发布:有哪些相亲软件 编辑:程序博客网 时间:2024/06/14 10:18

翻上来看看,还是记住的好啊,每次都想不起……

1、 如何将List变成Json字符串 2

2、 如何将一个对象变成Json字符串 2

3、 如何将一个对象的Json字符串变成该对象实例 2

4、 如何将一个List字符串,变成List实例 2

5、 在Ext中,如何将data变成Json 3

6、 如何获取类的属性名串 3

7、 排除指定的字段 3

使用的是json-lib-2.2.1-jdk15.jar

1、如何将List变成Json字符串

   List<Component> llist_O = getDataList(ai_StartRecord,ai_PageSize,as_Query);

   JSONArray jsonArray = JSONArray.fromObject( llist_O );   

   String json = "{totalCount:" + getCount(as_Query) + ",root:" + jsonArray + "}";

2、如何将一个对象变成Json字符串

      Component comp = ComponentBO.getComponent();

      JSONObject jsonObject = JSONObject.fromObject( comp );

3、如何将一个对象的Json字符串变成该对象实例

      String json = "{\"addr\":{\"homeAddr\":\"家庭住址\",\"workAddr\":\"工作单位地址 

                 \"},\"email\":\"mail_bai@126.com\",\"name\":\"BaiLing\"}";

      JSONObject jsonObject = JSONObject.fromObject( json );   

      Person bean = (Person) JSONObject.toBean( jsonObject ,Person.class);

      

      String json2 = "{\"addr\":{\"homeAddr\":\"家庭住址2\",\"workAddr\":\"工作单位地址 

                 2\"},\"email\":\"2mail_bai@126.com\",\"name\":\"BaiLing\"}";

      String dataJson = "{'data':["+json+","+json2+"]}";

      

4、如何将一个List字符串,变成List实例

      String json = "{\"addr\":{\"homeAddr\":\"家庭住址\",\"workAddr\":\"工作单位地址 

                 \"},\"email\":\"mail_bai@126.com\",\"name\":\"BaiLing\"}";

      String json2 = "{\"addr\":{\"homeAddr\":\"家庭住址2\",\"workAddr\":\"工作单位地址 

                 2\"},\"email\":\"2mail_bai@126.com\",\"name\":\"BaiLing\"}";

      

方法一:

String dataJson = "{'data':["+json+","+json2+"]}";

      Map classMap = new HashMap();   

      classMap.put( "data", Person.class );   

  PersonList personList = (PersonList) JSONObject.toBean(JSONObject.fromObject(dataJson),

  PersonList.class, classMap);

方法二:

String jsonData = " ["+json+","+json2+"]";

//获得从前台传回的数据

String ls_Data = this.getRequestPara("jsonData");

//解析JSON数据

JSONArray jsonArray = JSONArray.fromObject(ls_Data);

List < ExamroomShicaoGradecond > list = (List) JSONArray.toCollection(jsonArray, ExamroomShicaoGradecond.class);

5、在Ext中,如何将data变成Json

在Ext.onReady中有如下方法:

function commitStore(){

var it = store.getModifiedRecords();

         

        

 var jsonData = "{data:[";

 for(var i = 0, len = it.length; i < len; i++){

     if(i > 0) jsonData += ",";

     record = it[i];

     jsonData += "{id:{componentId:" + Ext.util.JSON.encode(record.get("componentId"))

             + ",subsysInnerName:" + Ext.util.JSON.encode(subsysInnerName) + "}"

             + ",displayOrder:" + Ext.util.JSON.encode(record.get("displayOrder"))

             + "}";

 }

    jsonData += "]}";

    document.all.subsysCompJsonData.value = jsonData;

 }

    Ext.getCmp('saveItems').on('click',function(){

    commitStore();

    });

这样,我们可以在外部触发该按钮,达到将json字符串传到后台的目的,方法如下:

function uf_Save(){

Ext.getCmp('saveItems').fireEvent('click');

submitForm("saveSubsys.action");

}

6、如何获取类的属性名串

var extFields = <%=BeanHelper.getPropertyNamesForJson(Subsys.class)%>

其中,BeanHelper所在的jar<%@page import="com.supporter.util.*"%>

7、排除指定的字段

将要排除的字段名定义到一个数组中,在生成json时传入即可.

{{{

String [] exclusions = new String[]{ "...", "...",  "." };

JsonConfig jsonConf = new JsonConfig();

jsonConf.setExcludes(exclusions);

JSONArray jsonArray = JSONArray.fromObject( llist_O, jsonConf ); 

}}}

原创粉丝点击