使用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清空textarea等输入框实现代码
Apr 22 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
详解jQuery中的empty、remove和detach
Apr 11 Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 Javascript
微信小程序 聊天室简单实现
Apr 19 Javascript
JQuery选中select组件被选中的值方法
Mar 08 jQuery
小程序视频或音频自定义可拖拽进度条的示例代码
Sep 30 Javascript
jQuery实现的别踩白块小游戏完整示例
Jan 07 jQuery
微信小程序--获取用户地理位置名称(无须用户授权)的方法
Apr 29 Javascript
微信小程序转化为uni-app项目的方法示例
May 22 Javascript
Vue中computed和watch有哪些区别
Dec 19 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
smarty实例教程
2006/11/19 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
js 幻灯片的实现
2011/12/06 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
简述Python中的进程、线程、协程
2016/03/18 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
理解python中生成器用法
2017/12/20 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
Python实现手势识别
2020/10/21 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
yy结婚证婚词
2014/01/10 职场文书
加工操作管理制度
2014/01/19 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS