使用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中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
vue下拉列表功能实例代码
Apr 08 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 Javascript
如何利用JavaScript编写更好的条件语句详解
Aug 10 Javascript
微信小程序实现拍照和相册选取图片
May 09 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
鼠标滚轮控制网页横向移动实现思路
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注入实例
2006/10/09 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
2019/04/08 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python中类的继承代码实例
2014/10/28 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
西尔斯百货官网:Sears
2016/09/06 全球购物
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
计算机工程学院个人求职信
2013/10/05 职场文书
大二学习计划书范文
2014/04/27 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
教师求职信
2014/06/17 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2015年化验员工作总结
2015/04/10 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
办公室年度工作总结2015
2015/05/21 职场文书