Json实现页面多个对象的保存 java /.net

html 代码

Html代码   收藏代码
  1. <table>  
  2. <tr class="ct-ruleValue">  
  3. <td class="T-TdRight">姓名:</td>  
  4. <td>  
  5. <input id="txtName" type="text" size="20" />  
  6. </td>  
  7. </tr><tr class="ct-ruleValue">  
  8. <td class="T-TdRight">证件:</td>  
  9. <td>  
  10. <input id="txtIdentityID" type="text" size="20" />  
  11. </td>  
  12. </tr><tr class="ct-ruleValue">  
  13. <td class="T-TdRight">性别:</td>  
  14. <td>  
  15. <select id="txtSex" >  
  16. <option value="男"></option>  
  17.  <option value="女"></option>  
  18.  </select>  
  19. </td>  
  20. </table>  
  21. <div class="c-ruleSetBtn">  
  22. <input  type="button" value="保存" onclick="add();" />  
  23. <input  type="submit" value="保存&amp;提交"  
  24. onclick="addExit();" />  
  25.                         </div>  
 

javascript  采用mootools 组合json数据  页面需要引用 mootools.js 1.2

Js代码   收藏代码
  1. var arr = new Array();  
  2.     var str="";  
  3. //注意$()  等于document.getEmelentById()  
  4.   
  5.  function add() {  
  6.             str = { "identityID": $("txtIdentityID").value, "name": $("txtName").value,  "gender": $("txtSex").selectedIndex  
  7.             };  
  8.             //每点击一次 添加 组合一个放在数组中  
  9.             arr.push(str);  
  10.         }  
  11.     }  
  12.   
  13.     function addExit() {  
  14.        //提交代码   把多个组合的json 放在了隐藏域保单的属性中  
  15.         if (str != "") {  
  16.        //mootools 提供的json转换 方法  
  17.       $("txtAllValue").value = JSON.encode(arr);  
  18.         }  
  19.     }  
 

 

后台代码 对象的属性要和json的属性名称相对应

Java代码   收藏代码
  1. public class BuilderRec implements java.io.Serializable{  
  2.   
  3.     private String name;  
  4.     private String identityID;  
  5.     private String gender;  
  6.     public String getName() {  
  7.         return name;  
  8.     }  
  9.     public void setName(String name) {  
  10.         this.name = name;  
  11.     }  
  12.     public String getIdentityID() {  
  13.         return identityID;  
  14.     }  
  15.     public void setIdentityID(String identityID) {  
  16.         this.identityID = identityID;  
  17.     }  
  18.     public String getGender() {  
  19.         return gender;  
  20.     }  
  21.     public void setGender(String gender) {  
  22.         this.gender = gender;  
  23.     }  
  24.       
  25. }  
 

 

java 转换 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:

      1.commons-lang.jar

      2.commons-beanutils.jar

      3.commons-collections.jar

      4.commons-logging.jar 

      5.ezmorph.jar

      6.json-lib-2.2.2-jdk15.jar

Java代码   收藏代码
  1. List<BuilderRec> builderRecs = new ArrayList<BuilderRec>();  
  2. String str = request.getParameter("txtAllValue");  
  3. if (str != null && !"".equals(str))  
  4.      list = getList(str,new Person());  
  5.         //转换成对应的类对象  
  6. for(BuilderRec p : list)  
  7.      builderRecService.insert(p);  
  8. //下面是封装的方法  
  9. public <T> List<T> getList(String str,T t){  
  10.    JSONArray array = JSONArray.fromObject(str);//将str转换成json对象  
  11.      JsonConfig jsonConfig = new JsonConfig();//参数设置  
  12.      jsonConfig.setRootClass(t.getClass());//设置array中的对象类型  
  13.      List<T> list = (List<T>)JSONArray.toCollection(array, jsonConfig);//将数组转换成T类型的集合  
  14.      return list;  
  15. }  
 

 

 

.net也差不多

C#代码   收藏代码
  1.    
  2. System.Runtime.Serialization.Json.DataContractJsonSerializer ser =   
  3. new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(List<BuilderRec>));  
  4.                         List<BuilderRec> list =   
  5. (List<BuilderRec>)ser.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(txtAllValue.Value)));  
  6.                         foreach (BuilderRec p in list)  
  7.                         {  
  8.                            可以获取了  p.name;p.identityID; 方式  
  9.                         }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值