使用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 相关文章推荐
Js中sort()方法的用法
Nov 04 Javascript
Mootools 1.2教程 正则表达式
Sep 15 Javascript
javascript 模拟点击广告
Jan 02 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
javascript模块化简单解析
Apr 07 Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
Vue 实例事件简单示例
Sep 19 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
uni-app 自定义底部导航栏的实现
Dec 11 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中设置多级目录session的问题
2011/08/08 PHP
PHP的PSR规范中文版
2013/09/28 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
python求素数示例分享
2014/02/16 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
详解python中的模块及包导入
2019/08/30 Python
Django实现网页分页功能
2019/10/31 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
报社实习生自荐信
2014/01/24 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
异地恋情人节寄语
2015/02/28 职场文书
工作简报范文
2015/07/21 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers