{"_id":"jquery-serializejson","_rev":"16-0177764edd360738ed790c917f6d98c0","name":"jquery-serializejson","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","dist-tags":{"latest":"3.2.1"},"versions":{"2.5.0":{"name":"jquery-serializejson","version":"2.5.0","description":"Serializes a form into a JavaScript Object with the same format as the default Ruby on Rails request params hash","main":"jquery.serializejson.js","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"author":{"name":"Mario Izquierdo"},"license":"MIT","bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","_id":"jquery-serializejson@2.5.0","dist":{"shasum":"64b7d137dc5fa57d55be9d993c1236206f7b6346","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.5.0.tgz","integrity":"sha512-9oRe3Yp0uL7XXlFYACkkUepFvw8NBdB+xA7ZBJEsTM748cm1UscJTxBCfVyvnzsB+TEeOmPjMRwggFLS8xDqQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfo7iGVq4RA0AEz9qjEZr/7Y+UuFTT6SxF1CDbPNBAtgIgJguTVnSa2OLApW9SUoqURnTmNGswVNfQ5GcZ5Ci9jJQ="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"directories":{}},"2.6.2":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"2.6.2","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"gitHead":"7c02d14cc477be70c32995c98857fd39252347cf","_id":"jquery-serializejson@2.6.2","_shasum":"51f1b2926836b289ae03426b7de4c147439f86b0","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"dist":{"shasum":"51f1b2926836b289ae03426b7de4c147439f86b0","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.6.2.tgz","integrity":"sha512-L+HfNdAM1Hvp7hQ3xyzx5AIHpVlYDUL1YN6NUHdi3AiOpxQIhJNBVYgI8Y6+jYf3gQFsrDP1v5bIgdT2c3BGTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDF74FGc1VJXQ/2UpqAbedVyiYB2Iqn33xBBALEh0T24AiBkdde8dFkz4X/HA13iWiCnJoSsP2mJC1Z5QXzdkNOu0Q=="}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"directories":{}},"2.7.2":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"2.7.2","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"gitHead":"2f462314f40b1cb88b7b5293e4816ae87fad1ede","_id":"jquery-serializejson@2.7.2","_shasum":"71c03c64340a41b609fd1a43e74b78ae7f4055b6","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"dist":{"shasum":"71c03c64340a41b609fd1a43e74b78ae7f4055b6","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.7.2.tgz","integrity":"sha512-7HEx0TJEwxn4Sd/hSthsmBQgtZ0d0SVh+lIcCd+H11ERG6LzXnhnyqgNeiJeOyUSlBnZaM0p7jXP0h9BOl3EbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiaVAtb93L31kRo1Zt2o1f+3ELaFOCAk6wVRK/t1lvIAiEAngUttQl5iQaIxu+49ts+Z5u3O6vXN0Jp9oPU1OxqLZM="}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jquery-serializejson-2.7.2.tgz_1470171900883_0.5569837810471654"},"directories":{}},"2.8.0":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"2.8.0","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"gitHead":"13181f22cb152c42eab562d9140e1fd706f86580","_id":"jquery-serializejson@2.8.0","_shasum":"9963c2894206ef561bd2e83017ce23c3aa8b3891","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"dist":{"shasum":"9963c2894206ef561bd2e83017ce23c3aa8b3891","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.8.0.tgz","integrity":"sha512-GJVH9XbvZ0oR68qPnfGafcXVAZp6+nE1/q5whY4Lpl3NOF/UmRL0r23+emw9R4+02+NiruZmfn9vZPWdOWu6YA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEK1H3Y5CGBeZTPxDWZeKDLOA9/+xBMSWb5qjn07vjHKAiEAjezffJmyWyvQ4MiDEh3AEY59tvRpkB6ojNXXHkA24rY="}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jquery-serializejson-2.8.0.tgz_1481327003399_0.17684034816920757"},"directories":{}},"2.8.1":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"2.8.1","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"gitHead":"42eb7b4e25bcce73f91fbb58c7d0e08bab932ca6","_id":"jquery-serializejson@2.8.1","_shasum":"fc40dd11e5d9a6fd2a3614fdcba89e4af794f0a8","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"dist":{"shasum":"fc40dd11e5d9a6fd2a3614fdcba89e4af794f0a8","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.8.1.tgz","integrity":"sha512-yVobUPt8au4gBNUxlIB89zcZkJUjIT/NOZG1Z7R1gvxGob3aXcqz+nrGpLdcga0hLyw2bvDYu8CLqIq8nG4LEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL5mBjJzRDhDgSRWK6ZLfyhRSGOdXBiKBj3QQKo3aAUAIhAPJd3Xzc/kfhu11wff4RD5eN0BsAEaqRWKZRkbH3Jt3D"}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jquery-serializejson-2.8.1.tgz_1481337301712_0.42426533554680645"},"directories":{}},"2.9.0":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"2.9.0","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"gitHead":"e1512fed0fb057ebd19a86caff19ca8946f41eb6","_id":"jquery-serializejson@2.9.0","_npmVersion":"6.1.0","_nodeVersion":"8.12.0","_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"dist":{"integrity":"sha512-xR7rjl0tRKIVioV5lOkOSv7K8BHMvGzYzC7Ech1iAYuZiYf0ksEpLC8OqjA5VApXf/qn/49O9hTmW70+/EA0vA==","shasum":"03e3764e3a4b42c1c5aae9f93d7f19320c5f35a6","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.9.0.tgz","fileCount":17,"unpackedSize":540686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+5OmCRA9TVsSAnZWagAAD5cP/0yCUka1lbTBMQu5sIDE\nya+RtxmPS/R+i+gGPQhgWxL3YzvRdQIQ0u9i4OAVlAE5zbYuuWQfyM9JDNDg\nvxw5Bbao+ifCvELpkf3Z5y3CY+yqlDkeSgG2ZKcsqV2Tn7ztCirt4dtp1CTt\nD+MIE6aROCVVUL5rSbb5cWMs51gZi0tkk9kkVO9FohPR+MDhjPwcsY+cFeBk\nL0MbdkwXjdnptLg7QV/DiUxMWvWwjzb9XjC7UsxIo+kuAl3EAIShfjzz8ooq\nTrSn1lyMlrLEFIHz110HUnH6q/DnqpKMX86LXcUDBvEpQAfRMprohtGN2org\nrUd86QnqEKdY6W5bmMe01LfxR92M6+JjAe3/CrTIxSujwz8aKb46AhVB94CB\nawpdzhabIT9fazPtWnz22Pq5VrhPj2xTOm6pwwsWY0sljDTqd2hWrrUOfc/D\nOCtEOL2FkkgOHLrHQtEHKbcxLfs2MCoXhkwzkAsPhKv6TujJ5zmGTDKqE17h\n63f4hHW5QS9NzKZ9+FeSXLU1ItG3ZXWRFPk8Np4rRKqmIOrLjYdKWPXLCXe/\ng5Fj/fCe7Asc4gkegNPLtiNDdCFFe/YDjN80jpZEISrkFIgIRSIDi6oh4zJd\nPPUon7Uarwk13z5FllmOP5tnQ9767pTlzLfvy4E4LsIwuZVmUKTRTb5tSOAJ\nkdHV\r\n=6Bg0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXxxsrta72sak6aBxVhbayeCdLnFh0LQkvjWLoKEPk0AiAhsmcucLdZFo01SpMhlU0RMpZZqvdU/SRG1FK2tVFkMQ=="}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_2.9.0_1543213989380_0.12588524989252337"},"_hasShrinkwrap":false},"3.0.0":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.0.0","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"3d9e82d7fdd26dfe30c3190d29427e3019d0a2b2","_id":"jquery-serializejson@3.0.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3PDSXyvftP2sZ2tPQb9UWxjQd7tmYhs39BMhTZBqGQzcemnrx4KPD9UXY9gdnYf53JfETvZ+yve2KfopnRqFrA==","shasum":"62989c977649ad841745c2ed8f8746f93d8e07d3","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.0.0.tgz","fileCount":18,"unpackedSize":534651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVWtNCRA9TVsSAnZWagAALyIP/2BhSWBfMwAby8ulxoYH\namSyb8BYHd6AlqBK23914PVRS18LYfYX0KAUMs/wERoI3ZnoU37mUHTc1kx0\nMZ1iOKryiIU3bJ2Vspz9F5qgpE4s5nnDeoZJrkqa0GykqQyhpqViW/qlgBQ3\nuUCegjbvIxc+7jBAVbQTuuaSPtp6Ir+WMmc7FN52ktE79TN/5b7YQdijGp75\nf8TGAAfJsGOOw5ozVNHNCl1mS8Wfj7ND5HnvKHy3+pdWyERIbZ8bpa596Zzd\nyenFUOQl/2755gNumcqGqxmIEP67Blk3MPb4TrpCPRzFSNJZ81uFX61UMtNi\ngFeeuJJaZ/v2qpEMKhZd+NiENVzRrQ5C54t7fR3pKfYHC6mlgnV0XkizFJI3\n2823yFn+7koYRCRKBx+DssENV+PTugD9/Lz6yKWFL9ySSWf4RmKUNqg6DnN+\neUcXuGdsapnHOK30qCnDIVOlm12pFE1XexDCHPxTAK4oSc5kT4KgTyFFiVqi\nla/qcgpmg860qb+gEA9vQskfWsbWbEBTdtdsRgAUuzL9sOt6qQ4zf9jMj1Nd\n0uiCK1AF7tF45myoXWdvknnkIeAHGa1xq26hohblCJ6a0L8/PIck1PSILVz8\nY7FiEUH6v/mlWl4R3DSezpCiabSTMEFYd3GrUwOm9HhrNG7FQnzgZOYy6thc\n1SB0\r\n=kN18\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0h9bOZwEHsKDQn14+R4KTKVKY9DlmcI3dbhOeguIuSwIhAIeaMk3xHby2HXwdtxnjsU3DWe3y9bmAY96+SKPkYIqz"}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.0.0_1599433549233_0.3479157719240269"},"_hasShrinkwrap":false},"3.1.0":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.1.0","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"22d36a8103ab032f6c9f70ae3580c88c847ffc40","_id":"jquery-serializejson@3.1.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZWWldXiN/y8xSgToVcX7N6ZFHE4792ws7K80lciIUbD/YNWAxtu5XMZOnE1no5W8E8m1mGWy1ousTV3gVaT1fA==","shasum":"d83be79a42dd5b669fcd12cc1c0c82c80f40fd25","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.1.0.tgz","fileCount":18,"unpackedSize":534794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXvWcCRA9TVsSAnZWagAAfGwP/2dXW6yLj6BvWCMz9tX0\nH2ZsNVHFPGVAiFqNcchFiyApcSIgu69RpR7JvG6jxXumkOzgiV5JPiVcB/yJ\nOHx38RIr7tgjAYS08siU6Xdpzz13n5DFEy6by5EisZsZ45Og8Nro5G2l8IFY\nFrjwblwNf5NvaqJQEbsXEhPzA4mVOoQNtJWFf5VOlS7ySb5EJI9m+PSlCmcS\nr2ZFlwD0MIoYQzZJTGV1l+5hTQP7oNxJQGlqXgAPDBACIALhfTbrXci8wBji\nbkfEBKygr7iFkrtNNJ1qL2cyIIRXGZNZ8D5bHAz6XTQclwHC++224gA6ehbj\nziFyPllWmVLOzsU9BeWPsalV6a7e0qP2i4L1IZaiXrj94DFAiKR2QY/ex04t\n5h8eNE5NtyPOWTtSPlcjjupMdsETzUNDk3lCrQpYx4dE9tRf+5fa5C7ZsuYV\nkaSw5djBgai9XgIl9Oar+7FELIPRWA8Yk0ar/1bn+mCS+5nsDAZ5ZyobC54J\ncpndrimH1DxhO/Bb10xc8yWBIS61AT8hCNLOziLiv7LWkpTl/BdWjyN6ig1L\nZRh3Uep1rVVkAUvyCpl1lRf2OsVIy6lnShYkBM0lK8RhNJDC14G2oFRtS+NM\nkb7/HnOLTx8xEPxxTfTHqW/yx4uKBTc5/m8GKkZJDYLubrft29RppPCNGvcd\nPw9L\r\n=AkXx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK8IwBPHyHX8mNuudjqCB8Jpx5qaD4HHDbVMmBeQaH5wIgbdX1DYt/eTZsjMXsqlMD5mPRFiFo7Dp+K6M94b/eM2M="}]},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.1.0_1600058780409_0.18071925314632464"},"_hasShrinkwrap":false},"3.1.1":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.1.1","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"ce84dcdc42febc3889a32d4a8ddc9b668da1d39f","_id":"jquery-serializejson@3.1.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LQHPtIQjRhJjfSQX0mlxP7LeHcI7Yy1IEaOvNEUVL9fQrdCMQm1L1pvLo/Kz92fPRNv9GVSy/H3TOO+Tnck/8g==","shasum":"ae347ff7b0dd7ea6c106ff555673e9e4d254e644","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.1.1.tgz","fileCount":18,"unpackedSize":527112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqPvDCRA9TVsSAnZWagAASOcQAI+dUTTaoGEMqDlF76yP\n8zYi0YV2v133MqBEWIeUz/9tECRscjGZG/8C+YQYmqRyuFDJZkpoFb+NPDuR\n7z1cVbEF9zABqVpgkHMhVedoImi6+Ssb8Sdo5DbksgFjjGVS7hbhBLIebvOe\nWgmSHfa6h5nXMvJjCvjVlhE+tLxFOnD9lrFxjzoZx6kd0ktmnk8disF9QNCK\nPZbBmjtpienBctsKhzhk/w7UfUaJGhUwgCkIA8kLZRwLeHJUFBYkmaG1G4r4\nm6nQHC8pCurZl7Su803FYF0uqfIow+dJZF3L9yzOXW6zCELeUBcm5Ppmxw+R\nN6wBzeFSJAYvEj7c4XGpiyoAFcwW/nVZ3e9ldJHn+aIuwdXniTGmF87aIfk9\n40VmkE+96LtEpeNgCLfzIKrr034qvzR/TZSekHIjW7SlMmkqg/XkFEHwLYfu\nL7vdrRkkyq8J2g/2wRUh9upmD951LIOjha+MKmyO59IkN1nM2cHES5I1vZTu\nVZUVBEzT5Bpi1XhGBdqz6BkI1feZ9pK7+SZhmuwkmxW+RsPyGncXibAj/UsF\ng/N+aF+cu4nwQVgcJ7mjcmBw6sFGaei3lw24Th6c/+LRtON7EAYeb+zw3rRn\n+D/cMXgHqWxthi1LVf2wwRXCxHpEdk4kZLEbf3NF0LmRN6rfDnfFryw2d6L1\na/VZ\r\n=mG1v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA4VAejpeIXRpQjt/IVdd3G7FFR4WOdAgmAQvG34AaihAiBeIvbY8nu3ZmNeOmjLsUpJvakke0g2sMi+9HHYGLtSfw=="}]},"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.1.1_1604910018967_0.9833106172697368"},"_hasShrinkwrap":false},"3.1.2":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.1.2","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"ce84dcdc42febc3889a32d4a8ddc9b668da1d39f","_id":"jquery-serializejson@3.1.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.10","dist":{"integrity":"sha512-UR5rb//h/NDAy2oE1ECVAnB8B/+sSq6BJCEOiKwmjmreBMglIfiQSzW8GjXZUKOxzwEGgJZotUQUmM4WD7n84A==","shasum":"0feec7809820bcaae91d8f91204dcfacf2eb9b16","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.1.2.tgz","fileCount":18,"unpackedSize":527250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7SpOCRA9TVsSAnZWagAAP4oP/iFgpcLiRtIT1EoybChH\n+PHEvtTv20U+kix+G4MPfhsWSNKH2YPSrqrJ0jsWKU+0Cp8JQYbbXDSKJXHv\nf+Vqplm/ndcVmh8A/kvCzRTo7x1GhnMjeiq+kha50uqlpM5Av9f1A5dl45Wt\nvzTis/XxMgYCClAZgTBZ9UojwVaSyO6u31hiTd4LEznmvM25dUTdY/hm67tF\nlGc+DGJBW2bS+TcdurOPn7y7GGTj6k0WOKRD5sJc9wW/WryQKUyuPJ69DvB1\nxN1MYA5qm/ypD86ZcKzJ2ZowIHeaNu7FRpTjJoE+wTrRY1roop3qYRydCCai\nfjBuK+3VKoCb7LR6ZlAlvmsW2SaZl7y+NUoLGTBF4anr2/GBNsHfResa0Kfg\nA9CdUPrxglX6U5PTwfftgcSHPsQ7pu5oeb6zE8d//lUGZqRfSOfEAnYypDy/\nDBKqRLcIkWpKsCS+tDiQbrrWbWl/5FKAHzMZY3Vc2q5TdPVM9Dznv3Zfmap/\npRIkV+2nZY/VtQu1LAiqto/mGF/9h1dcCBKzhy7VMoZ5yhEjLekHaUiB85OR\nk60lZitYEtzJVdbEb5mEGoIBMkeI5+tZVzacd7HrJtzGb9I1uEzhfhexBscy\nO5J5OhLJnk0DyqKbLrvH9ieAHG7IVemC/y7IolFwGP8a84QjGOtnQypM91G9\neuN/\r\n=MRUP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtl98+9JMRLqAVrxeEYbNeuWZhQoh5DmPENQA1IIT1DgIhAO4vROhLppJf01GYao2EnPpz7Gy3rd/3Bp++CmovJxNv"}]},"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.1.2_1609378382281_0.16293225525448118"},"_hasShrinkwrap":false},"3.2.0":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.2.0","description":"jQuery plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"234ab7970cb02ef1be7d2a206401f2387c8e3b23","_id":"jquery-serializejson@3.2.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.10","dist":{"integrity":"sha512-KLw6NR0MVpQOLkePnb4sRRrh77JRRlhHVdyFFwi2YDHiitBWDh/hMCaDPt8IQ3H5XiJpxwIBPkd166/Z0Zh/kA==","shasum":"2358cd7372f638e67245b6f3e1827dcf2c94936f","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.2.0.tgz","fileCount":18,"unpackedSize":529142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7aPDCRA9TVsSAnZWagAAZb0P/iCsEwqSLHD7mfITEnZD\npm3FFod1dh0EFEMY0JwzKvuwKwwANDn2y3dFsRiKrw0UQWxJAQPyCuOpa2s/\nR3sQVs3XTbjiYADBSPM8V1hTelibqabpe7cju+7wJiSBG/UYY0nAFS9lwiN9\nhVNMcC9yn5MjZPW7Cgej8ot3XQpW+qq47Mh7jCPN+VahQSIIesIBpWYpFjAt\nAimbJzfszy1Y5HvOo/Ztm4ykXgoXw6GMr5aqbMr5P5m0kFC8up78xXI4cp1s\nMDEzXSvG85ZJ0aeO11FyhwcPOnAS//YJKfAT1XdGewMLs4toNXS+aZhiTMMm\ndgzF7Ogu4YY757LOI6Agf9cyaThNVFXa/qb8R1v8cCn9AKkwocELcpr3jeI5\nCiO9ig2BhMZ2G1+m9AsU1dJ9QdE6LyYcbMq090MRT1RRyyo6pIGbIYeGonVa\n8PB80cfCNLRWi5rCvmkaa7WkV3qN4KxK8FVCr3m+NRZEQk6qD243CQ8NT5Fc\nTGV+8BsFVuEQMhHg/c5bOM68UGbis5UnqVmFBHOUSvzdrcgRfpNKzEe5poL6\nNlqQhaMcIZVYr0bMmz45N4dYsuuO57FKTgc6LFQn5y6WbvN6T0pJj69JIwiY\nnWlbD59g6muHiUaoQnjla8SIMRPw5QU6czAh0LM/TguyWcCLp9IeHOSWl1Jo\nrdIv\r\n=GyD0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE37y92chGWMrVk+/QI+vSLEeDDYtyqPyXhS85OX2wgNAiEAxBANoDaBFhM5cbqELEKMQDF1b3a/aBE9Is+uSto4UXA="}]},"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.2.0_1609409475105_0.20964485137572475"},"_hasShrinkwrap":false},"3.2.1":{"name":"jquery-serializejson","main":"jquery.serializejson.js","version":"3.2.1","description":"jQuery or Zepto plugin to serialize a form into a JavaScript Object, using the same format as the default Ruby on Rails request params","homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","author":{"name":"Mario Izquierdo"},"license":"MIT","scripts":{"test":"echo \"Open /spec/spec_runner_jquery.html or /spec/spec_runner_zepto.html to run the jasmine specs in your browser\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"dependencies":{},"devDependencies":{"eslint":"^7.8.1"},"gitHead":"54b151140878253ab1a2a1f5c6a40e0e56d63af7","_id":"jquery-serializejson@3.2.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.10","dist":{"integrity":"sha512-89UxVNC4ac9XC5tWPz3DjSTYFcT5z6JYsxGVw+qHhD61FzjbEzXJHjpdLnezWujjqtIECi/URQ6KdPmDE9imGA==","shasum":"2d1b701695bf192f6e92cdf6b22db5a3177ea045","tarball":"https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-3.2.1.tgz","fileCount":19,"unpackedSize":529457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNq8kCRA9TVsSAnZWagAAf2sQAIsTCg+od8l0QHXHcqfu\n8ZW3GcPQRLOJhNOrgIdTVVjN2IDu0pUgcUTPQIltrXuLQEUsNhYdvdt+IeSY\nIfO3tLCRJl6YEsCKu6CvFiunS82vwIJEgCyLDVp4cRK0s8rDlsQEC9ggW5a4\nRq2BUJimnn2aG0JaCeQYZwt2YhQklVdBWOgldBsc3uwcweSxwabuH5uE1mN3\nn67VNcvvIuM0Igm7Dep4VoU9qg1bLXk19+4j2ToK7650GTE7yGvmzAfOiHen\n3FtMszAHAUqF+3tlpi3mOIh+8FMbadveNoc0VZQtV9YNqlfuYKJqz/jpkdC4\nRi1qNhzUsk2GVXK/D5sucJ0s6PHVN41qyy+Cmvn64wmYEml7v/5TPwE9HRG6\nVfb1rvOJ9+kVi6MngGlTauSSY6XxLoiRLTHGRFehRJfpkTYPz0AaSY3pEqe8\nnvhkO8OsNy89VjA4epHToRoAovCO7baimI3MK3eW7afzeBKvx4zlbvq7URil\nqRv/3Ke5L1NiJ4ggYakyqaw5pZ6KWl4QEWA6MDLRlYT2wx+r0YN7bmPwmT/m\nGIi7KycnETocoeLgY586o28Vge/Xh5JBk9NXJwQB/osO2idRVbLD6vwmUcBr\nQToMVYIBUZ5cKDvohIHkVyJMSAGKp9ztB7Z3l2UeDXLRsRPWG3p0hVocj4/m\npzit\r\n=VQMS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEg0xGjIAbfeF4cX+UuyT+DX1fS6wNDQGiVZsxO+T4ngAiA0IFyQNCG46r9TYu93v/vH/Hf4pd/7v7S42Ov7IgZiLg=="}]},"_npmUser":{"name":"tothemario","email":"tothemario@gmail.com"},"directories":{},"maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jquery-serializejson_3.2.1_1614196515892_0.4614422388823869"},"_hasShrinkwrap":false}},"readme":"jquery.serializeJSON\n====================\n\nAdds the method `.serializeJSON()` to [jQuery](http://jquery.com/) to serializes a form into a JavaScript Object. Supports the same format for nested parameters that is used in Ruby on Rails.\n\nInstall\n-------\n\nInstall with [bower](http://bower.io/) `bower install jquery.serializeJSON`, or [npm](https://www.npmjs.com/) `npm install jquery-serializejson`, or just download the [jquery.serializejson.js](https://raw.githubusercontent.com/marioizquierdo/jquery.serializeJSON/master/jquery.serializejson.js) script.\n\nAnd make sure it is included after jQuery, for example:\n```html\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"jquery.serializejson.js\"></script>\n```\n\nUsage Example\n-------------\n\nHTML form:\n```html\n<form>\n  <input type=\"text\" name=\"title\" value=\"Dune\"/>\n  <input type=\"text\" name=\"author[name]\" value=\"Frank Herbert\"/>\n  <input type=\"text\" name=\"author[period]\" value=\"1945–1986\"/>\n</form>\n```\n\nJavaScript:\n```javascript\n$('form').serializeJSON();\n\n// returns =>\n{\n  title: \"Dune\",\n  author: {\n    name: \"Frank Herbert\",\n    period: \"1945–1986\"\n  }\n}\n```\n\nNested attributes and arrays can be specified by naming fields with the syntax: `name=\"attr[nested][nested]\"`.\n\nHTML form:\n```html\n<form id=\"my-profile\">\n  <!-- simple attribute -->\n  <input type=\"text\" name=\"name\" value=\"Mario\" />\n\n  <!-- nested attributes -->\n  <input type=\"text\" name=\"address[city]\"         value=\"San Francisco\" />\n  <input type=\"text\" name=\"address[state][name]\"  value=\"California\" />\n  <input type=\"text\" name=\"address[state][abbr]\"  value=\"CA\" />\n\n  <!-- array -->\n  <input type=\"text\" name=\"jobbies[]\"             value=\"code\" />\n  <input type=\"text\" name=\"jobbies[]\"             value=\"climbing\" />\n\n  <!-- nested arrays, textareas, checkboxes ... -->\n  <textarea              name=\"projects[0][name]\">serializeJSON</textarea>\n  <textarea              name=\"projects[0][language]\">javascript</textarea>\n  <input type=\"hidden\"   name=\"projects[0][popular]\" value=\"0\" />\n  <input type=\"checkbox\" name=\"projects[0][popular]\" value=\"1\" checked />\n\n  <textarea              name=\"projects[1][name]\">tinytest.js</textarea>\n  <textarea              name=\"projects[1][language]\">javascript</textarea>\n  <input type=\"hidden\"   name=\"projects[1][popular]\" value=\"0\" />\n  <input type=\"checkbox\" name=\"projects[1][popular]\" value=\"1\"/>\n\n  <!-- select -->\n  <select name=\"selectOne\">\n    <option value=\"paper\">Paper</option>\n    <option value=\"rock\" selected>Rock</option>\n    <option value=\"scissors\">Scissors</option>\n  </select>\n\n  <!-- select multiple options, just name it as an array[] -->\n  <select multiple name=\"selectMultiple[]\">\n    <option value=\"red\"  selected>Red</option>\n    <option value=\"blue\" selected>Blue</option>\n    <option value=\"yellow\">Yellow</option>\n\t</select>\n</form>\n\n```\n\nJavaScript:\n\n```javascript\n$('#my-profile').serializeJSON();\n\n// returns =>\n{\n  fullName: \"Mario\",\n\n  address: {\n    city: \"San Francisco\",\n    state: {\n      name: \"California\",\n      abbr: \"CA\"\n    }\n  },\n\n  jobbies: [\"code\", \"climbing\"],\n\n  projects: {\n    '0': { name: \"serializeJSON\", language: \"javascript\", popular: \"1\" },\n    '1': { name: \"tinytest.js\",   language: \"javascript\", popular: \"0\" }\n  },\n\n  selectOne: \"rock\",\n  selectMultiple: [\"red\", \"blue\"]\n}\n```\n\nThe `serializeJSON` function returns a JavaScript object, not a JSON String. The plugin should probably have been called `serializeObject` or similar, but that plugin name was already taken.\n\nTo convert into a JSON String, use the `JSON.stringify` method, that is available on all major [new browsers](http://caniuse.com/json).\nIf you need to support very old browsers, just include the [json2.js](https://github.com/douglascrockford/JSON-js) polyfill (as described on [stackoverfow](http://stackoverflow.com/questions/191881/serializing-to-json-in-jquery)).\n\n```javascript\nvar obj = $('form').serializeJSON();\nvar jsonString = JSON.stringify(obj);\n```\n\nThe plugin serializes the same inputs supported by [.serializeArray()](https://api.jquery.com/serializeArray/), following the standard W3C rules for [successful controls](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2). In particular, the included elements **cannot be disabled** and must contain a **name attribute**. No submit button value is serialized since the form was not submitted using a button. And data from file select elements is not serialized.\n\n\nParse values with :types\n------------------------\n\nFields values are `:string` by default. But can be parsed with types by appending a `:type` suffix to the field name:\n\n```html\n<form>\n  <input type=\"text\" name=\"default\"          value=\":string is default\"/>\n  <input type=\"text\" name=\"text:string\"      value=\"some text string\"/>\n  <input type=\"text\" name=\"excluded:skip\"    value=\"ignored field because of type :skip\"/>\n\n  <input type=\"text\" name=\"numbers[1]:number\"        value=\"1\"/>\n  <input type=\"text\" name=\"numbers[1.1]:number\"      value=\"1.1\"/>\n  <input type=\"text\" name=\"numbers[other]:number\"    value=\"other\"/>\n\n  <input type=\"text\" name=\"bools[true]:boolean\"      value=\"true\"/>\n  <input type=\"text\" name=\"bools[false]:boolean\"     value=\"false\"/>\n  <input type=\"text\" name=\"bools[0]:boolean\"         value=\"0\"/>\n\n  <input type=\"text\" name=\"nulls[null]:null\"         value=\"null\"/>\n  <input type=\"text\" name=\"nulls[other]:null\"        value=\"other\"/>\n\n  <input type=\"text\" name=\"arrays[empty]:array\"         value=\"[]\"/>\n  <input type=\"text\" name=\"arrays[list]:array\"          value=\"[1, 2, 3]\"/>\n\n  <input type=\"text\" name=\"objects[empty]:object\"       value=\"{}\"/>\n  <input type=\"text\" name=\"objects[dict]:object\"        value='{\"my\": \"stuff\"}'/>\n</form>\n```\n\n```javascript\n$('form').serializeJSON();\n\n// returns =>\n{\n  \"default\": \":string is the default\",\n  \"text\": \"some text string\",\n  // excluded:skip is ignored in the output\n\n  \"numbers\": {\n    \"1\": 1,\n    \"1.1\": 1.1,\n    \"other\": NaN, // <-- \"other\" is parsed as NaN\n  },\n  \"bools\": {\n    \"true\": true,\n    \"false\": false,\n    \"0\": false, // <-- \"false\", \"null\", \"undefined\", \"\", \"0\" are parsed as false\n  },\n  \"nulls\": {\n    \"null\": null, // <-- \"false\", \"null\", \"undefined\", \"\", \"0\"  are parsed as null\n    \"other\": \"other\" // <-- if not null, the type is a string\n  },\n  \"arrays\": { // <-- uses JSON.parse\n    \"empty\": [],\n    \"not empty\": [1,2,3]\n  },\n  \"objects\": { // <-- uses JSON.parse\n    \"empty\": {},\n    \"not empty\": {\"my\": \"stuff\"}\n  }\n}\n```\n\nTypes can also be specified with the attribute `data-value-type`, instead of adding the `:type` suffix in the field name:\n\n```html\n<form>\n  <input type=\"text\" name=\"anumb\"   data-value-type=\"number\"  value=\"1\"/>\n  <input type=\"text\" name=\"abool\"   data-value-type=\"boolean\" value=\"true\"/>\n  <input type=\"text\" name=\"anull\"   data-value-type=\"null\"    value=\"null\"/>\n  <input type=\"text\" name=\"anarray\" data-value-type=\"array\"   value=\"[1, 2, 3]\"/>\n</form>\n```\n\nIf your field names contain colons (e.g. `name=\"article[my::key][active]\"`) the last part after the colon will be confused as an invalid type. One way to avoid that is to explicitly append the type `:string` (e.g. `name=\"article[my::key][active]:string\"`), or to use the attribute `data-value-type=\"string\"`. Data attributes have precedence over `:type` name suffixes. It is also possible to disable parsing `:type` suffixes with the option `{ disableColonTypes: true }`.\n\n\n### Custom Types\n\nUse the `customTypes` option to provide your own parsing functions. The parsing functions receive the input name as a string, and the DOM elment of the serialized input.\n\n```html\n<form>\n  <input type=\"text\" name=\"scary:alwaysBoo\" value=\"not boo\"/>\n  <input type=\"text\" name=\"str:string\"      value=\"str\"/>\n  <input type=\"text\" name=\"five:number\"     value=\"5\"/>\n</form>\n```\n\n```javascript\n$('form').serializeJSON({\n  customTypes: {\n    alwaysBoo: (strVal, el) => {\n      // strVal: is the input value as a string\n      // el: is the dom element. $(el) would be the jQuery element\n      return \"boo\"; // value returned in the serialization of this type\n    },\n  }\n});\n\n// returns =>\n{\n  \"scary\": \"boo\",  // <-- parsed with custom type \"alwaysBoo\"\n  \"str\": \"str\",\n  \"five\": 5,\n}\n```\n\nThe provided `customTypes` can include one of the `detaultTypes` to override the default behavior:\n\n```javascript\n$('form').serializeJSON({\n  customTypes: {\n    alwaysBoo: (strVal) => { return \"boo\"; },\n    string: (strVal) => { return strVal + \"-OVERDRIVE\"; },\n  }\n});\n\n// returns =>\n{\n  \"scary\": \"boo\",         // <-- parsed with custom type \"alwaysBoo\"\n  \"str\": \"str-OVERDRIVE\", // <-- parsed with custom override \"string\"\n  \"five\": 5,              // <-- parsed with default type \"number\"\n}\n```\n\nDefault types used by the plugin are defined in `$.serializeJSON.defaultOptions.defaultTypes`.\n\n\nOptions\n-------\n\nWith no options, `.serializeJSON()` returns the same as a regular HTML form submission when serialized as Rack/Rails params. In particular:\n\n  * Values are **strings** (unless appending a `:type` to the input name)\n  * Unchecked checkboxes are ignored (as defined in the W3C rules for [successful controls](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2)).\n  * Disabled elements are ignored (W3C rules)\n  * Keys (input names) are always **strings** (nested params are objects by default)\n\nAvailable options:\n\n  * **checkboxUncheckedValue: string**, return this value on checkboxes that are not checked. Without this option, they would be ignored. For example: `{checkboxUncheckedValue: \"\"}` returns an empty string. If the field has a `:type`, the returned value will be properly parsed; for example if the field type is `:boolean`, it returns `false` instead of an empty string.\n  * **useIntKeysAsArrayIndex: true**, when using integers as keys (i.e. `<input name=\"foods[0]\" value=\"banana\">`), serialize as an array (`{\"foods\": [\"banana\"]}`) instead of an object (`{\"foods\": {\"0\": \"banana\"}`).\n  * **skipFalsyValuesForFields: []**, skip given fields (by name) with falsy values. You can use `data-skip-falsy=\"true\"` input attribute as well. Falsy values are determined after converting to a given type, note that `\"0\"` as `:string` (default) is still truthy, but `0` as `:number` is falsy.\n  * **skipFalsyValuesForTypes: []**, skip given fields (by :type) with falsy values (i.e. `skipFalsyValuesForTypes: [\"string\", \"number\"]` would skip `\"\"` for `:string` fields, and `0` for `:number` fields).\n  * **customTypes: {}**, define your own `:type` functions. Defined as an object like `{ type: function(value){...} }`. For example: `{customTypes: {nullable: function(str){ return str || null; }}`. Custom types extend defaultTypes.\n  * **defaultTypes: {defaults}**, contains the orignal type functions `string`, `number`, `boolean`, `null`, `array`, `object` and `skip`.\n  * **defaultType: \"string\"**, fields that have no `:type` suffix and no `data-value-type` attribute are parsed with the `string` type function by default, but it could be changed to use a different type function instead.\n  * **disableColonTypes: true**, do not parse input names as types, allowing field names to use colons. If this option is used, types can still be specified with the `data-value-type` attribute. For example `<input name=\"foo::bar\" value=\"1\" data-value-type=\"number\">` will be parsed as a number.\n\nMore details about these options in the sections below.\n\n## Include unchecked checkboxes\n\nOne of the most confusing details when serializing a form is the input type checkbox, because it includes the value if checked, but nothing if unchecked.\n\nTo deal with this, a common practice in HTML forms is to use hidden fields for the \"unchecked\" values:\n\n```html\n<!-- Only one booleanAttr will be serialized, being \"true\" or \"false\" depending if the checkbox is selected or not -->\n<input type=\"hidden\"   name=\"booleanAttr\" value=\"false\" />\n<input type=\"checkbox\" name=\"booleanAttr\" value=\"true\" />\n```\n\nThis solution is somehow verbose, but ensures progressive enhancement, it works even when JavaScript is disabled.\n\nBut, to make things easier, `serializeJSON` includes the option `checkboxUncheckedValue` and the possibility to add the attribute `data-unchecked-value` to the checkboxes:\n\n```html\n<form>\n  <input type=\"checkbox\" name=\"check1\" value=\"true\" checked/>\n  <input type=\"checkbox\" name=\"check2\" value=\"true\"/>\n  <input type=\"checkbox\" name=\"check3\" value=\"true\"/>\n</form>\n```\n\nSerializes like this by default:\n\n```javascript\n$('form').serializeJSON();\n\n// returns =>\n{check1: 'true'} // check2 and check3 are ignored\n```\n\nTo include all checkboxes, use the `checkboxUncheckedValue` option:\n\n```javascript\n$('form').serializeJSON({checkboxUncheckedValue: \"false\"});\n\n// returns =>\n{check1: \"true\", check2: \"false\", check3: \"false\"}\n```\n\nThe `data-unchecked-value` HTML attribute can be used to targed specific values per field:\n\n```html\n<form id=\"checkboxes\">\n  <input type=\"checkbox\" name=\"checked[b]:boolean\"   value=\"true\" data-unchecked-value=\"false\" checked/>\n  <input type=\"checkbox\" name=\"checked[numb]\"        value=\"1\"    data-unchecked-value=\"0\"     checked/>\n  <input type=\"checkbox\" name=\"checked[cool]\"        value=\"YUP\"                               checked/>\n\n  <input type=\"checkbox\" name=\"unchecked[b]:boolean\" value=\"true\" data-unchecked-value=\"false\" />\n  <input type=\"checkbox\" name=\"unchecked[numb]\"      value=\"1\"    data-unchecked-value=\"0\" />\n  <input type=\"checkbox\" name=\"unchecked[cool]\"      value=\"YUP\" /> <!-- No unchecked value specified -->\n</form>\n```\n\n```javascript\n$('form#checkboxes').serializeJSON(); // No option is needed if the data attribute is used\n\n// returns =>\n{\n  'checked': {\n    'b':     true,\n    'numb':  '1',\n    'cool':  'YUP'\n  },\n  'unchecked': {\n    'bool': false,\n    'bin':  '0'\n    // 'cool' is not included, because it doesn't use data-unchecked-value\n  }\n}\n```\n\nYou can use both the option `checkboxUncheckedValue` and the attribute `data-unchecked-value` at the same time, in which case the option is used as default value (the data attribute has precedence).\n\n```javascript\n$('form#checkboxes').serializeJSON({checkboxUncheckedValue: 'NOPE'});\n\n// returns =>\n{\n  'checked': {\n    'b':     true,\n    'numb':  '1',\n    'cool':  'YUP'\n  },\n  'unchecked': {\n    'bool': false,   // value from data-unchecked-value attribute, and parsed with type \"boolean\"\n    'bin':  '0',     // value from data-unchecked-value attribute\n    'cool': 'NOPE'   // value from checkboxUncheckedValue option\n  }\n}\n```\n\n## Ignore Empty Form Fields\n\nYou can use the option `.serializeJSON(skipFalsyValuesForTypes: [\"string\"])`, which ignores any string field with an empty value (default type is :string, and empty strings are falsy).\n\nAnother option, since `serializeJSON()` is called on a jQuery object, is to just use the proper jQuery selector to skip empty values (see [Issue #28](https://github.com/marioizquierdo/jquery.serializeJSON/issues/28) for more info):\n\n```javascript\n// Select only imputs that have a non-empty value\n$('form :input[value!=\"\"]').serializeJSON();\n\n// Or filter them from the form\nobj = $('form').find('input').not('[value=\"\"]').serializeJSON();\n\n// For more complicated filtering, you can use a function\nobj = $form.find(':input').filter(function () {\n          return $.trim(this.value).length > 0\n      }).serializeJSON();\n```\n\n\n## Ignore Fields With Falsy Values\n\nWhen using :types, you can also skip falsy values (`false, \"\", 0, null, undefined, NaN`) by using the option `skipFalsyValuesForFields: [\"fullName\", \"address[city]\"]` or `skipFalsyValuesForTypes: [\"string\", \"null\"]`.\n\nOr setting a data attribute `data-skip-falsy=\"true\"` on the inputs that should be ignored. Note that `data-skip-falsy` is aware of field :types, so it knows how to skip a non-empty input like this `<input name=\"foo\" value=\"0\" data-value-type=\"number\" data-skip-falsy=\"true\">` (Note that `\"0\"` as a string is not falsy, but `0` as number is falsy)).\n\n\n## Use integer keys as array indexes\n\nBy default, all serialized keys are **strings**, this includes keys that look like numbers like this:\n\n```html\n<form>\n  <input type=\"text\" name=\"arr[0]\" value=\"foo\"/>\n  <input type=\"text\" name=\"arr[1]\" value=\"var\"/>\n  <input type=\"text\" name=\"arr[5]\" value=\"inn\"/>\n</form>\n```\n\n```javascript\n$('form').serializeJSON();\n\n// arr is an object =>\n{'arr': {'0': 'foo', '1': 'var', '5': 'inn' }}\n```\n\nWhich is how Rack [parse_nested_query](http://codefol.io/posts/How-Does-Rack-Parse-Query-Params-With-parse-nested-query) behaves. Remember that serializeJSON input name format is fully compatible with Rails parameters, that are parsed using this Rack method.\n\nUse the option `useIntKeysAsArrayIndex` to interpret integers as array indexes:\n\n```javascript\n$('form').serializeJSON({useIntKeysAsArrayIndex: true});\n\n// arr is an array =>\n{'arr': ['foo', 'var', undefined, undefined, undefined, 'inn']}\n```\n\n**Note**: this was the default behavior of serializeJSON before version 2. You can use this option for backwards compatibility.\n\n\n## Option Defaults\n\nAll options defaults are defined in `$.serializeJSON.defaultOptions`. You can just modify it to avoid setting the option on every call to `serializeJSON`. For example:\n\n```javascript\n$.serializeJSON.defaultOptions.checkboxUncheckedValue = \"\"; // include unckecked checkboxes as empty strings\n$.serializeJSON.defaultOptions.customTypes.foo = (str) => { return str + \"-foo\"; }; // define global custom type \":foo\"\n```\n\n\nAlternatives\n------------\n\nOther plugins solve the same problem in similar ways:\n\n * https://github.com/macek/jquery-serialize-object\n * https://github.com/hongymagic/jQuery.serializeObject\n * https://github.com/danheberden/jquery-serializeForm\n * https://github.com/maxatwork/form2js (plain js, no jQuery)\n * https://github.com/serbanghita/formToObject.js (plain js, no jQuery)\n * https://gist.github.com/shiawuen/2634143 (simpler but small)\n\nNone of them did what I needed at the time `serializeJSON` was created. Factors that differentiate `serializeJSON` from the alternatives:\n\n * Simple and small code base. The minimified version is < 1Kb.\n * Yet flexible enough with features like nested objects, unchecked-checkboxes and custom types.\n * Implementation follows the same rules as the jQuery method `serializeArray`, that creates a JavaScript array of objects, ready to be encoded as a JSON string. Taking into account the W3C rules for [successful controls](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2) for better compatibility.\n * The format for the input field names is the same used by Rails (from [Rack::Utils.parse_nested_query](http://codefol.io/posts/How-Does-Rack-Parse-Query-Params-With-parse-nested-query)), that is successfully used by many backend systems and already well understood by many front end developers.\n * Exaustive test suite helps iterate on new releases and bugfixes with confidence.\n * Compatible with [bower](https://github.com/bower/bower), [zepto.js](http://zeptojs.com/) and pretty much every version of [jQuery](https://jquery.com/).\n\n\nContributions\n-------------\n\nContributions are awesome. Feature branch *pull requests* are the preferred method. Just make sure to add tests for it. To run the jasmine specs, just open `spec/spec_runner_jquery.html` in your browser.\n\nChangelog\n---------\n\nSee [CHANGELOG.md](./CHANGELOG.md)\n\nAuthor\n-------\n\nWritten and maintained by [Mario Izquierdo](https://github.com/marioizquierdo)\n","maintainers":[{"name":"tothemario","email":"tothemario@gmail.com"}],"time":{"modified":"2022-06-19T05:11:34.746Z","created":"2015-03-12T06:26:57.120Z","2.5.0":"2015-03-12T06:26:57.120Z","2.6.2":"2015-10-24T19:31:36.211Z","2.7.2":"2016-08-02T21:05:01.149Z","2.8.0":"2016-12-09T23:43:25.603Z","2.8.1":"2016-12-10T02:35:01.977Z","2.9.0":"2018-11-26T06:33:09.509Z","3.0.0":"2020-09-06T23:05:49.387Z","3.1.0":"2020-09-14T04:46:20.602Z","3.1.1":"2020-11-09T08:20:19.163Z","3.1.2":"2020-12-31T01:33:02.573Z","3.2.0":"2020-12-31T10:11:15.357Z","3.2.1":"2021-02-24T19:55:16.118Z"},"homepage":"https://github.com/marioizquierdo/jquery.serializeJSON","keywords":["jquery-plugin","ecosystem:jquery","form-serialization","form-to-json","html-to-json","form","json"],"repository":{"type":"git","url":"git+https://github.com/marioizquierdo/jquery.serializeJSON.git"},"author":{"name":"Mario Izquierdo"},"bugs":{"url":"https://github.com/marioizquierdo/jquery.serializeJSON/issues"},"license":"MIT","readmeFilename":"README.md"}