使用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 相关文章推荐
强制设为首页代码
Jun 19 Javascript
showModelessDialog()使用详解
Sep 21 Javascript
javaScript parseInt字符转化为数字函数使用小结
Nov 05 Javascript
有趣的javascript数组定义方法
Sep 10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
Bootstrap入门教程一Hello Bootstrap初识
Mar 02 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 jQuery
利用JS实现scroll自定义滚动效果详解
Oct 17 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
Sep 23 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
PHP引用返回用法示例
2016/05/28 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
PHP7新增函数
2021/03/09 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
详解NODEJS的http实现
2018/01/04 NodeJs
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
人事专员岗位职责
2013/11/20 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
python爬虫selenium模块详解
2021/03/30 Python
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫