`
li370604005
  • 浏览: 45777 次
  • 性别: Icon_minigender_1
  • 来自: 盐城
社区版块
存档分类
最新评论

关于如何将form表单中的元素转为JSON字符串

阅读更多

 

$.fn.serializeObject = function(){
     var obj = {};
     var count = 0;
     $.each( this.serializeArray(), function(i,o){
         var n = o.name, v = o.value;
         count++;
         obj[n] = obj[n] === undefined ? v: $.isArray( obj[n] ) ? obj[n].concat( v ): [ obj[n], v ];
     });
     obj.nameCounts = count + "";//表单name个数
     return JSON.stringify(obj);
 };

 

 

 

PS: Jquery自带了一些序列化的方法:

       其中一个是form.serializeArray();

       这个方法的结果很蛋疼,转成了如下的格式:


           
      显然我已经不知所措了。

       第二个是form.serialize();

       这个方法就是序列化,和一般的格式一样:

emp.empid=&emp.empname=2&emp.sex=F&emp.orgid=1&emp.empcode=123&emp.postcode=3&emp.address=123&emp.phone=4&emp.wage=123

       但是还不是我们想要的json格式。

        在网上找到了一个有解释的结果:其实还是使用serializeArray()方法,这个方法将form中的元素转化成了一个包含name,value的一个对象。同时还是一个数组。

    

var o  申明一个对象。
var a  取得选择对象的数组对象
$.each(a,function() 遍历这个数组对象
if(o[this.name])  如果这个对象的名称不存在
 if(!o[this.name].push)如果这个对象没被放进去, 后面的 如果对象被放进去了。o[this.name].push()取得当前的名称对应的值放到对象里。
else  后面的为如果对象名称存在,覆盖之前的值。

 转化出来的结果如:

{"emp.empid":"","emp.empname":"魏都区","emp.sex":"M","emp.orgid":"12","emp.empcode":"123","emp.postcode":"312","emp.address":"123","emp.phone":"123","emp.wage":"123","nameCounts":"9"}

 

  • 大小: 2.8 KB
分享到:
评论

相关推荐

    form数据与json对象的互相转换(完整版)

    1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传给服务器,从而可以实现无刷新的form提交。; 2、通过AJAX从服务器得到json格式的数据,然后使用本工具解析数据填入form。从而可以实现无刷新的...

    将web Form 的数据转化成json字符串及json对象进行处理的JS

    将web Form 的数据转化成json字符串及json对象进行处理的类

    使用JavaScript构建JSON格式字符串实现步骤

    如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascript来创建json格式字符串。这是非常有用的,我们将通过jQuery插件$.toJSON把数据对象转换为json...

    使用json数据生成表单页面

    使用json数据生成表单页面

    SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现

    在接入Spring-Cloud-Gateway时,可能有需求进行缓存Json-Body数据或者Form-Urlencoded数据的情况。这篇文章主要介绍了SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现,感兴趣的小伙伴们可以参考一下

    jQuery序列化form表单数据为JSON对象的实现方法

    但是,观察输出的信息,发现serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串。 serialize确实是能够解决一般的提交数据。但是有时我们需要的是一个object对象,而不是字符串(比如jqgrid reload时...

    axios针对后台只收form表单形式的post提交

    以前的java服务器,为求代码简单,规定传输的字符串数据格式为 application/x-www-form-urlencoded, 所以 form 表单提交 和 $.ajax 都是默认 application/x-www-form-urlencoded 请求长这个样子 curl '...

    jquery序列化form表单使用ajax提交后处理返回的json数据

    1、返回json字符串: 代码如下: /** 将一个字符串输出到浏览器 */  protected void writeJson(String json) {  PrintWriter pw = null;  try {  servletResponse.setContentType(“text/plain;charset=UTF-8”)...

    基于form-data请求格式详解

    在后端与前端约定好application/json格式传递数据时,因为后台是go强类型语言,在定义api接口时,某些字段要求是整型类型,但是对于前端来说输入框或者从url中的search取到的参数都是字符串,不得不进行前端类型转换...

    django-prettyjson:在Django表单,管理员或模板中启用漂亮的JSON查看器

    它几乎与任何东西兼容:存储在字符串中的JSON,一个jsonfield(使用django.contrib.postgres或 )或任何可以序列化为JSON的python对象(使用 )。 演示版 见 安装 在命令行中: pip install django-prettyjson 配置...

    通过构造AJAX参数实现表单元素JSON相互转换

    ajax提交服务器数据, 整理一下转换方法。 ... <form id=fm name=fm action=> <input name=UserName type=text value=UserName1/>.../form>...input name=UserId id=UserId type=text value=...2.字符串,

    将JavaScript的jQuery库中表单转化为JSON对象的方法

    大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现。   我在网上看到有人用替换的方法,先用serialize序列化后,将&替换...

    elm-form:Elm中的动态表单处理

    当经典的“每个字段的消息”对您来说效果不佳时,就以失去某种类型安全性为代价(字段名称由字符串组成,请参阅 )。 支持 我们在设有专门的渠道,以 #elm-form加入我们, #elm-form解决任何问题,支持或问题。 ...

    jQuery向后台传入json格式数据的方法

    前后台数据交互一般都用json格式,后台可以直接将json对应转化为实体对象。方便以后的操作。jQuery向后台传数据的时候,我们会发现他会自动转化成查询字符串,不能真正传入一个json。而且用jquery对表单序列化的时候...

    jQuery序列化后的表单值转换成Json

    通过$(#form).serialize()可以获取到序列化的表单值字符串。 例如: a=1&b=2&c=3&d=4&e=5 通过$(#form).serializeArray()输出以数组形式序列化表单值。 [ {name: 'firstname', value: 'Hello'}, {name: '...

    jsonform-tester:使用 joshfirejsonform 测试 json 以形成转换

    jsonform-tester 测试可以使用库将 JSON 转换为 HTML 表单。 JSON 可以粘贴为字符串,也可以从端点请求。

    ajax_struts2_上传与下载_无刷新

    3. 在struts2的Action通过2种不同的实现方法返回json格式的字符串。 4. 针对商品实现简单无刷新上传与下载 4. 批量导入数据采用的是导入test文件夹下的测试压缩包upload.rar上传到服务器的临时目录,然后利用WinRar....

    chext_fill_form_from_json:用于从 json 填写表单的开源和免费(如 Beer 中)Chrome 扩展

    该扩展支持 json 中的字符串和数字。 该扩展支持 html 中的 name 和 ng-reflect-name。安全为了安全和隐私,此扩展不会通过网络发送任何数据。 扩展程序只能访问活动选项卡。 源代码已发布在 github 上,任何人都...

    redux-form-generator:Redux 67 的表单生成器

    redux-form 和 final-form 的表单生成器 通过提供 json 在你的 React 应用程序中生成 ... 重命名了属性formName-> name(字符串) 重命名 Field radio/checkbox 属性可搜索 -> 过滤器(布尔) 删除了属性 checkKey

Global site tag (gtag.js) - Google Analytics