使用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 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
Javascript valueOf 使用方法
Dec 28 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
js 使用form表单select类实现级联菜单效果
Dec 19 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
Mar 19 Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
用jQuery的AJax实现异步访问、异步加载
Nov 02 Javascript
vue2组件实现懒加载浅析
Mar 29 Javascript
JavaScript队列的应用实例详解【经典数据结构】
Apr 12 Javascript
js实现全选和全不选功能
Jul 28 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
2014/03/06 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
详解vue v-model
2020/08/31 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
详解如何修改python中字典的键和值
2020/09/29 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
经理职责范文
2013/11/08 职场文书
机修工工作职责
2014/02/21 职场文书
家长通知书家长评语
2014/04/17 职场文书
普通话演讲稿
2014/09/03 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
优秀校长事迹材料
2014/12/24 职场文书
贪污检举信范文
2015/03/02 职场文书
小学生节水倡议书
2015/04/29 职场文书