JSON

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

字号+ 作者:H5之家 来源:H5之家 2018-01-26 13:00 我要评论( )

html 代码 table tr class=ct-ruleValue td class=T-TdRight姓名:/td td input id=txtName type=text size=20 ...

html 代码

<table> <tr> <td>姓名:</td> <td> <input type="text" size="20" /> </td> </tr><tr> <td>证件:</td> <td> <input type="text" size="20" /> </td> </tr><tr> <td>性别:</td> <td> <select > <option value="男">男</option> <option value="女">女</option> </select> </td> </table> <div> <input type="button" value="保存" /> <input type="submit" value="保存&amp;提交" /> </div>

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

var arr = new Array(); var str=""; //注意$() 等于document.getEmelentById() function add() { str = { "identityID": $("txtIdentityID").value, "name": $("txtName").value, "gender": $("txtSex").selectedIndex }; //每点击一次 添加 组合一个放在数组中 arr.push(str); } } function addExit() { //提交代码 把多个组合的json 放在了隐藏域保单的属性中 if (str != "") { //mootools 提供的json转换 方法 $("txtAllValue").value = JSON.encode(arr); } }

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

public class BuilderRec implements java.io.Serializable{ private String name; private String identityID; private String gender; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIdentityID() { return identityID; } public void setIdentityID(String identityID) { this.identityID = identityID; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }

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

List<BuilderRec> builderRecs = new ArrayList<BuilderRec>(); String str = request.getParameter("txtAllValue"); if (str != null && !"".equals(str)) list = getList(str,new Person()); //转换成对应的类对象 for(BuilderRec p : list) builderRecService.insert(p); //下面是封装的方法 public <T> List<T> getList(String str,T t){ JSONArray array = JSONArray.fromObject(str);//将str转换成json对象 JsonConfig jsonConfig = new JsonConfig();//参数设置 jsonConfig.setRootClass(t.getClass());//设置array中的对象类型 List<T> list = (List<T>)JSONArray.toCollection(array, jsonConfig);//将数组转换成T类型的集合 return list; }

.net也差不多

System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(List<BuilderRec>)); List<BuilderRec> list = (List<BuilderRec>)ser.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(txtAllValue.Value))); foreach (BuilderRec p in list) { 可以获取了 p.name;p.identityID; 方式 }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • alibaba的FastJson(高性能JSON开发包)

    alibaba的FastJson(高性能JSON开发包)

    2018-01-26 14:24

  • 探究官方JSON与阿里的FastJSON中put方法

    探究官方JSON与阿里的FastJSON中put方法

    2018-01-26 12:00

  • SpringMVC @RequestBody 接收Json数组对象

    SpringMVC @RequestBody 接收Json数组对象

    2018-01-26 11:14

  • 关于json数据的分割处理

    关于json数据的分割处理

    2018-01-26 11:10

网友点评