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


Posted in Javascript onMarch 22, 2013

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

使用JavaScript构建JSON格式字符串
JavaScript代码:
在这里包含了javascript代码。$(“#form”).submit(function(){}- delete_button是form标签的ID,我们通过element.val()调用表单输入框的值。代码如下:

<script src="jquery.min.js"></script> 
<script src="jquery.json-2.2.js"></script> 
<script src="GetPostAjax.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#form").submit(function(e){ 
e.preventDefault(); 
var username,email,password,gender; 
username=$("#username").val(); 
email=$("#email").val(); 
password=$("#username").val(); 
gender=$("#gender").val(); 
if(username.length>0 && email.length>0 && password.length>0 &&gender.length>0) 
{ 
//Creating Objects 
var request = new Object(); 
var userDetails = new Object(); 
var user = new Object(); 
var websites=new Array(); 
user.name=username; 
user.email=email; 
user.password=password; 
user.gender=gender; 
//Array Push 
if(website1.length>0) 
websites.push(website1); 
if(website2.length>0) 
websites.push(website2); 
if(website3.length>0) 
websites.push(website3); 
user.websites=websites; 
userDetails.user = user; 
request.userDetails = userDetails; 
var jsonfy = $.toJSON(request); 
// Encodes special characters 
var encodedata = 'jsondata='+encodeURIComponent(jsonfy); 
//Ajax Call 
var url='website API URL'; 
post_data(url,encodedata, function(data) { 
alert("Success"); 
}); 
} 
}); 
}); 
</script">

HTML代码:
<form method='post' action='' id='form'> 
Name 
<input type='text' name='username' id='username' /> 
Email 
<input type='text' name='email' id='email' /> 
Password 
<input type='text' name='password' id='password' /> 
Gender 
<select name='gender' id='gender'><option value='male'>Male</option><option value='female'>Female</option></select> 
Websites 
<input type='text' id='website1' /> 
<input type='text' id='website2' /> 
<input type='text' id='website3' /> 
<input type='submit' id='submit'/> 
</form>

JSON输出
{ 
"userDetails":{ 
"user":{ 
"name":"Srinivas Tamada", 
"email":"srinivas@9lessons.info", 
"password":"Srinivas Tamada", 
"gender":"male", 
"websites":["www.software8.co","www.heatpress123.net","www.0769zzw.com"] 
} 
} 
}

JSON Encoded
对特殊字符进行编码,会把以下字符进行编码
, / ? : @ & = + $ # 
jsondata=%7B%22userDetails%22%3A%7B%22user%22%3A%7B%22name%22%3A%22Srinivas%20Tamada%22%2C%22email%22%3A%22srinivas%409lessons.info%22%2C%22password%22%3A%22Srinivas%20Tamada%22%2C%22gender%22%3A%22male%22%2C%22websites%22%3A%5B%22www.9lessons.info%22%2C%22www.egglabs.in%22%2C%22www.fglogin.com%22%5D%7D%7D%7D

GetPostAjax.js
这里定义了jquery的ajax请求方法。
function post_data(url,encodedata, success){ 
$.ajax({ 
type:"POST", 
url:url, 
data :encodedata, 
dataType:"json", 
restful:true, 
contentType: 'application/json', 
cache:false, 
timeout:20000, 
async:true, 
beforeSend :function(data) { }, 
success:function(data){ 
success.call(this, data); 
}, 
error:function(data){ 
alert("Error In Connecting"); 
} 
}); 
}
Javascript 相关文章推荐
jquery 事件对象属性小结
Apr 27 Javascript
javascript不可用的问题探究
Oct 01 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
vue keep-alive请求数据的方法示例
May 16 Javascript
vue+axios实现post文件下载
Sep 25 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 Javascript
鼠标滚轮控制网页横向移动实现思路
Mar 22 #Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 #Javascript
jquery文字上下滚动的实现方法
Mar 22 #Javascript
JS模块与命名空间的介绍
Mar 22 #Javascript
JS在textarea光标处插入文本的小例子
Mar 22 #Javascript
JavaScript 验证码的实例代码(附效果图)
Mar 22 #Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 #Javascript
You might like
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
Yahoo-PHP面试题3
2012/01/14 面试题
JAVA和C++区别都有哪些
2015/03/30 面试题
ktv筹备计划书
2014/05/03 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
垂直极限观后感
2015/06/08 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server